X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmesa%2Fpipe%2Fdraw%2Fdraw_context.h;h=ddeb184497aeec4fa8d3b8ba6cd63804d66b4524;hb=1e0d30a515e4cac891b6c590f12a33e0e8a8e295;hp=2714252fc5dae3ad0cbfe3571b3c703fca96cbc4;hpb=294401814d1d89cc731de1c22c25333aa5d59374;p=mesa.git diff --git a/src/mesa/pipe/draw/draw_context.h b/src/mesa/pipe/draw/draw_context.h index 2714252fc5d..ddeb184497a 100644 --- a/src/mesa/pipe/draw/draw_context.h +++ b/src/mesa/pipe/draw/draw_context.h @@ -45,6 +45,7 @@ struct vertex_buffer; struct vertex_info; struct draw_context; struct draw_stage; +struct draw_vertex_shader; /** @@ -57,7 +58,6 @@ struct draw_stage; #define CLIP_BOTTOM_BIT 0x08 #define CLIP_NEAR_BIT 0x10 #define CLIP_FAR_BIT 0x20 -#define CLIP_CULL_BIT (1 << (6 + PIPE_MAX_CLIP_PLANES)) /*unused? */ /*@}*/ /** @@ -83,34 +83,34 @@ void draw_set_viewport_state( struct draw_context *draw, void draw_set_clip_state( struct draw_context *pipe, const struct pipe_clip_state *clip ); -void draw_set_feedback_state( struct draw_context *draw, - const struct pipe_feedback_state * ); +void draw_set_rasterizer_state( struct draw_context *draw, + const struct pipe_rasterizer_state *raster ); -void draw_set_setup_state( struct draw_context *draw, - const struct pipe_rasterizer_state *raster ); +void draw_set_rasterize_stage( struct draw_context *draw, + struct draw_stage *stage ); -void draw_set_setup_stage( struct draw_context *draw, - struct draw_stage *stage ); +void draw_convert_wide_points(struct draw_context *draw, boolean enable); -unsigned draw_prim_info( unsigned prim, unsigned *first, unsigned *incr ); +void draw_convert_wide_lines(struct draw_context *draw, boolean enable); -unsigned draw_trim( unsigned count, unsigned first, unsigned incr ); +struct draw_vertex_shader * +draw_create_vertex_shader(struct draw_context *draw, + const struct pipe_shader_state *shader); +void draw_bind_vertex_shader(struct draw_context *draw, + struct draw_vertex_shader *dvs); +void draw_delete_vertex_shader(struct draw_context *draw, + struct draw_vertex_shader *dvs); -void -draw_set_vertex_shader(struct draw_context *draw, - const struct pipe_shader_state *shader); +boolean draw_use_sse(struct draw_context *draw); +void draw_set_vertex_buffer(struct draw_context *draw, + unsigned attr, + const struct pipe_vertex_buffer *buffer); -void -draw_set_vertex_buffer(struct draw_context *draw, - unsigned attr, - const struct pipe_vertex_buffer *buffer); - -void -draw_set_vertex_element(struct draw_context *draw, - unsigned attr, - const struct pipe_vertex_element *element); +void draw_set_vertex_element(struct draw_context *draw, + unsigned attr, + const struct pipe_vertex_element *element); void draw_set_mapped_element_buffer( struct draw_context *draw, unsigned eltSize, void *elements ); @@ -121,13 +121,22 @@ void draw_set_mapped_vertex_buffer(struct draw_context *draw, void draw_set_mapped_constant_buffer(struct draw_context *draw, const void *buffer); -void -draw_set_mapped_feedback_buffer(struct draw_context *draw, uint index, - void *buffer, uint size); -void -draw_arrays(struct draw_context *draw, unsigned prim, - unsigned start, unsigned count); +/*********************************************************************** + * draw_prim.c + */ + +void draw_arrays(struct draw_context *draw, unsigned prim, + unsigned start, unsigned count); + +void draw_flush(struct draw_context *draw); + +/*********************************************************************** + * draw_debug.c + */ +boolean draw_validate_prim( unsigned prim, unsigned length ); +unsigned draw_trim_prim( unsigned mode, unsigned count ); + #endif /* DRAW_CONTEXT_H */