struct vertex_buffer;
+struct vertex_info;
struct draw_context;
struct draw_stage;
+struct draw_vertex_shader;
/**
#define CLIP_BOTTOM_BIT 0x08
#define CLIP_NEAR_BIT 0x10
#define CLIP_FAR_BIT 0x20
-#define CLIP_USER_BIT 0x40
-#define CLIP_CULL_BIT 0x80
/*@}*/
/**
void draw_set_clip_state( struct draw_context *pipe,
const struct pipe_clip_state *clip );
-void draw_set_setup_state( struct draw_context *draw,
- const struct pipe_setup_state *setup );
+void draw_set_rasterizer_state( struct draw_context *draw,
+ const struct pipe_rasterizer_state *raster );
-void draw_set_setup_stage( struct draw_context *draw,
- struct draw_stage *stage );
+void draw_set_rasterize_stage( struct draw_context *draw,
+ struct draw_stage *stage );
-void draw_set_vertex_attributes( struct draw_context *draw,
- const unsigned *attrs,
- unsigned nr_attrs );
+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);
+
+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_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 );
void draw_set_mapped_vertex_buffer(struct draw_context *draw,
unsigned attr, const void *buffer);
+void draw_set_mapped_constant_buffer(struct draw_context *draw,
+ const void *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_shader(struct draw_context *draw,
- const struct pipe_shader_state *shader);
+/***********************************************************************
+ * draw_prim.c
+ */
+void draw_arrays(struct draw_context *draw, unsigned prim,
+ unsigned start, unsigned count);
-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 );
-void draw_vertices(struct draw_context *draw,
- unsigned mode,
- unsigned numVertex, const float *verts,
- unsigned numAttribs, const unsigned attribs[]);
#endif /* DRAW_CONTEXT_H */