Squashed commit of the following:
[mesa.git] / src / gallium / drivers / trace / tr_context.h
index ff86b6d1055fba8ce8bd10e49b2c70135098003f..1b4121d80a917013afc0802b1a7c419a606f89af 100644 (file)
@@ -40,6 +40,8 @@ extern "C" {
 #endif
 
 
+struct trace_screen;
+   
 struct trace_context
 {
    struct pipe_context base;
@@ -51,14 +53,27 @@ struct trace_context
       struct trace_shader *fs;
       struct trace_shader *vs;
 
-      struct trace_texture *tex[PIPE_MAX_SAMPLERS];
-      unsigned num_texs;
+      struct trace_sampler_view *sampler_views[PIPE_MAX_SAMPLERS];
+      unsigned num_sampler_views;
+
+      struct trace_sampler_view *vert_sampler_views[PIPE_MAX_VERTEX_SAMPLERS];
+      unsigned num_vert_sampler_views;
 
       unsigned nr_cbufs;
-      struct trace_texture *cbufs[PIPE_MAX_COLOR_BUFS];
-      struct trace_texture *zsbuf;
+      struct trace_resource *cbufs[PIPE_MAX_COLOR_BUFS];
+      struct trace_resource *zsbuf;
    } curr;
 
+   struct {
+      struct trace_shader *fs;
+      struct trace_shader *vs;
+
+      struct trace_sampler_view *sampler_view;
+      struct trace_resource *surf;
+
+      int blocker;
+   } draw_rule;
+   unsigned draw_num_rules;
    pipe_condvar draw_cond;
    pipe_mutex draw_mutex;
    int draw_blocker;
@@ -82,9 +97,8 @@ trace_context(struct pipe_context *pipe)
 }
 
 
-
 struct pipe_context *
-trace_context_create(struct pipe_screen *screen,
+trace_context_create(struct trace_screen *tr_scr,
                      struct pipe_context *pipe);
 
 void