gallium: rename pipe_buffer_handle to pipe_buffer, rework pipebuffer/ code
[mesa.git] / src / mesa / pipe / draw / draw_context.h
index 2714252fc5dae3ad0cbfe3571b3c703fca96cbc4..ddeb184497aeec4fa8d3b8ba6cd63804d66b4524 100644 (file)
@@ -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 */