gallium: add an index argument to create_query
[mesa.git] / src / gallium / drivers / identity / id_context.c
index 0aff75f5e9fe80483d5e84fae659517f062a51bf..97b39671fce71a33cd6e620a031dcc55bc23cb50 100644 (file)
@@ -57,13 +57,15 @@ identity_draw_vbo(struct pipe_context *_pipe,
 
 static struct pipe_query *
 identity_create_query(struct pipe_context *_pipe,
-                      unsigned query_type)
+                      unsigned query_type,
+                      unsigned index)
 {
    struct identity_context *id_pipe = identity_context(_pipe);
    struct pipe_context *pipe = id_pipe->pipe;
 
    return pipe->create_query(pipe,
-                             query_type);
+                             query_type,
+                             index);
 }
 
 static void
@@ -485,51 +487,13 @@ identity_set_sampler_views(struct pipe_context *_pipe,
 {
    struct identity_context *id_pipe = identity_context(_pipe);
    struct pipe_context *pipe = id_pipe->pipe;
-   struct pipe_sampler_view *unwrapped_views[PIPE_MAX_SAMPLERS];
-   struct pipe_sampler_view **views = NULL;
+   struct pipe_sampler_view *unwrapped_views[PIPE_MAX_SHADER_SAMPLER_VIEWS];
    unsigned i;
 
-   /* remove this when we have pipe->set_sampler_views(..., start, ...) */
-   assert(start == 0);
+   for (i = 0; i < num; i++)
+      unwrapped_views[i] = identity_sampler_view_unwrap(_views[i]);
 
-   if (_views) {
-      for (i = 0; i < num; i++)
-         unwrapped_views[i] = identity_sampler_view_unwrap(_views[i]);
-      for (; i < PIPE_MAX_SAMPLERS; i++)
-         unwrapped_views[i] = NULL;
-
-      views = unwrapped_views;
-   }
-
-   switch (shader) {
-   case PIPE_SHADER_VERTEX:
-      pipe->set_vertex_sampler_views(pipe, num, views);
-      break;
-   case PIPE_SHADER_GEOMETRY:
-      pipe->set_geometry_sampler_views(pipe, num, views);
-      break;
-   case PIPE_SHADER_FRAGMENT:
-      pipe->set_fragment_sampler_views(pipe, num, views);
-      break;
-   default:
-      debug_error("Unexpected shader in identity_set_sampler_views()");
-   }
-}
-
-static void
-identity_set_fragment_sampler_views(struct pipe_context *_pipe,
-                                    unsigned num,
-                                    struct pipe_sampler_view **_views)
-{
-   identity_set_sampler_views(_pipe, PIPE_SHADER_FRAGMENT, 0, num, _views);
-}
-
-static void
-identity_set_vertex_sampler_views(struct pipe_context *_pipe,
-                                  unsigned num,
-                                  struct pipe_sampler_view **_views)
-{
-   identity_set_sampler_views(_pipe, PIPE_SHADER_VERTEX, 0, num, _views);
+   pipe->set_sampler_views(pipe, shader, start, num, unwrapped_views);
 }
 
 static void
@@ -894,8 +858,7 @@ identity_context_create(struct pipe_screen *_screen, struct pipe_context *pipe)
    id_pipe->base.set_polygon_stipple = identity_set_polygon_stipple;
    id_pipe->base.set_scissor_states = identity_set_scissor_states;
    id_pipe->base.set_viewport_states = identity_set_viewport_states;
-   id_pipe->base.set_fragment_sampler_views = identity_set_fragment_sampler_views;
-   id_pipe->base.set_vertex_sampler_views = identity_set_vertex_sampler_views;
+   id_pipe->base.set_sampler_views = identity_set_sampler_views;
    id_pipe->base.set_vertex_buffers = identity_set_vertex_buffers;
    id_pipe->base.set_index_buffer = identity_set_index_buffer;
    id_pipe->base.resource_copy_region = identity_resource_copy_region;