ilo: implement pipe_context::bind_sampler_states()
authorBrian Paul <brianp@vmware.com>
Thu, 12 Sep 2013 21:07:39 +0000 (15:07 -0600)
committerBrian Paul <brianp@vmware.com>
Thu, 3 Oct 2013 20:05:26 +0000 (14:05 -0600)
src/gallium/drivers/ilo/ilo_state.c

index 1a0a08d0f1b3e68bd4c42ccc0f8f426094dd3f15..75e4d904f68820c84c64f04e01f37b6524a46e8d 100644 (file)
@@ -365,6 +365,26 @@ ilo_bind_compute_sampler_states(struct pipe_context *pipe,
             start_slot, num_samplers, samplers);
 }
 
+static void
+ilo_bind_sampler_states2(struct pipe_context *pipe, unsigned shader,
+                         unsigned start, unsigned count, void **samplers)
+{
+   switch (shader) {
+   case PIPE_SHADER_VERTEX:
+      ilo_bind_vertex_sampler_states(pipe, count, samplers);
+      break;
+   case PIPE_SHADER_GEOMETRY:
+      ilo_bind_geometry_sampler_states(pipe, count, samplers);
+      break;
+   case PIPE_SHADER_FRAGMENT:
+      ilo_bind_fragment_sampler_states(pipe, count, samplers);
+      break;
+   case PIPE_SHADER_COMPUTE:
+      ilo_bind_compute_sampler_states(pipe, start, count, samplers);
+      break;
+   }
+}
+
 static void
 ilo_delete_sampler_state(struct pipe_context *pipe, void *state)
 {
@@ -1239,6 +1259,7 @@ ilo_init_state_functions(struct ilo_context *ilo)
    ilo->base.bind_blend_state = ilo_bind_blend_state;
    ilo->base.delete_blend_state = ilo_delete_blend_state;
    ilo->base.create_sampler_state = ilo_create_sampler_state;
+   ilo->base.bind_sampler_states = ilo_bind_sampler_states2;
    ilo->base.bind_fragment_sampler_states = ilo_bind_fragment_sampler_states;
    ilo->base.bind_vertex_sampler_states = ilo_bind_vertex_sampler_states;
    ilo->base.bind_geometry_sampler_states = ilo_bind_geometry_sampler_states;