svga: Set the rendered-to flag for dma transfers to surfaces
[mesa.git] / src / gallium / drivers / svga / svga_state.h
index 7f239e7a3222d432e2d86f07ab35c8693ea64b8a..963a27941ba08802c42f661c5c4cbcfd110ff66e 100644 (file)
@@ -40,7 +40,7 @@ void svga_destroy_state( struct svga_context *svga );
 struct svga_tracked_state {
    const char *name;
    unsigned dirty;
-   int (*update)( struct svga_context *svga, unsigned dirty );
+   enum pipe_error (*update)( struct svga_context *svga, unsigned dirty );
 };
 
 /* NEED_SWTNL
@@ -57,16 +57,21 @@ extern struct svga_tracked_state svga_hw_framebuffer;
 
 /* HW_DRAW
  */
+extern struct svga_tracked_state svga_need_tgsi_transform;
 extern struct svga_tracked_state svga_hw_vs;
 extern struct svga_tracked_state svga_hw_fs;
+extern struct svga_tracked_state svga_hw_gs;
 extern struct svga_tracked_state svga_hw_rss;
+extern struct svga_tracked_state svga_hw_pstipple;
+extern struct svga_tracked_state svga_hw_sampler;
+extern struct svga_tracked_state svga_hw_sampler_bindings;
 extern struct svga_tracked_state svga_hw_tss;
 extern struct svga_tracked_state svga_hw_tss_binding;
 extern struct svga_tracked_state svga_hw_clip_planes;
 extern struct svga_tracked_state svga_hw_vdecl;
-extern struct svga_tracked_state svga_hw_fs_parameters;
-extern struct svga_tracked_state svga_hw_vs_parameters;
-extern struct svga_tracked_state svga_hw_update_zero_stride;
+extern struct svga_tracked_state svga_hw_fs_constants;
+extern struct svga_tracked_state svga_hw_gs_constants;
+extern struct svga_tracked_state svga_hw_vs_constants;
 
 /* SWTNL_DRAW
  */
@@ -86,14 +91,18 @@ extern struct svga_tracked_state svga_update_swtnl_vdecl;
 enum pipe_error svga_update_state( struct svga_context *svga,
                                    unsigned level );
 
-void svga_update_state_retry( struct svga_context *svga,
-                              unsigned level );
-
+bool svga_update_state_retry(struct svga_context *svga, unsigned level);
 
 enum pipe_error svga_emit_initial_state( struct svga_context *svga );
 
 enum pipe_error svga_reemit_framebuffer_bindings( struct svga_context *svga );
 
+enum pipe_error svga_rebind_framebuffer_bindings( struct svga_context *svga );
+
 enum pipe_error svga_reemit_tss_bindings( struct svga_context *svga );
 
+enum pipe_error svga_reemit_vs_bindings(struct svga_context *svga);
+
+enum pipe_error svga_reemit_fs_bindings(struct svga_context *svga);
+
 #endif