u_vbuf: override create/bind/destroy_vertex_elements_state
[profile/ivi/mesa.git] / src / gallium / drivers / r300 / r300_context.h
index 5588e51..9367fc0 100644 (file)
@@ -78,8 +78,6 @@ struct r300_blend_color_state {
 };
 
 struct r300_clip_state {
-    struct pipe_clip_state clip;
-
     uint32_t cb[29];
 };
 
@@ -139,7 +137,7 @@ struct r300_gpu_flush {
     uint32_t cb_flush_clean[6];
 };
 
-#define RS_STATE_MAIN_SIZE 25
+#define RS_STATE_MAIN_SIZE 27
 
 struct r300_rs_state {
     /* Original rasterizer state. */
@@ -408,8 +406,6 @@ struct r300_vertex_element_state {
     struct pipe_vertex_element velem[PIPE_MAX_ATTRIBS];
     unsigned format_size[PIPE_MAX_ATTRIBS];
 
-    struct u_vbuf_elements *vmgr_elements;
-
     /* The size of the vertex, in dwords. */
     unsigned vertex_size_dwords;
 
@@ -472,7 +468,7 @@ struct r300_context {
 
     /* When no vertex buffer is set, this one is used instead to prevent
      * hardlocks. */
-    struct pipe_resource *dummy_vb;
+    struct pipe_vertex_buffer dummy_vb;
 
     /* The currently active query. */
     struct r300_query *query_current;
@@ -571,8 +567,6 @@ struct r300_context {
     int sprite_coord_enable;
     /* Whether two-sided color selection is enabled (AKA light_twoside). */
     boolean two_sided_color;
-    /* Whether fragment color clamping is enabled. */
-    boolean frag_clamp;
     /* Whether fast color clear is enabled. */
     boolean cbzb_clear;
     /* Whether fragment shader needs to be validated. */
@@ -583,6 +577,9 @@ struct r300_context {
     void *dsa_decompress_zmask;
 
     struct u_vbuf *vbuf_mgr;
+    struct pipe_index_buffer index_buffer;
+    struct pipe_vertex_buffer vertex_buffer[PIPE_MAX_ATTRIBS];
+    unsigned nr_vertex_buffers;
 
     struct util_slab_mempool pool_transfers;
 
@@ -706,6 +703,12 @@ void r300_plug_in_stencil_ref_fallback(struct r300_context *r300);
 /* r300_render.c */
 void r300_draw_flush_vbuf(struct r300_context *r300);
 void r500_emit_index_bias(struct r300_context *r300, int index_bias);
+void r300_blitter_draw_rectangle(struct blitter_context *blitter,
+                                 unsigned x1, unsigned y1,
+                                 unsigned x2, unsigned y2,
+                                 float depth,
+                                 enum blitter_attrib_type type,
+                                 const union pipe_color_union *attrib);
 
 /* r300_state.c */
 enum r300_fb_state_change {