OSDN Git Service

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

index 8ca69fc..ba4a917 100644 (file)
@@ -342,6 +342,27 @@ static void i915_bind_fragment_sampler_states(struct pipe_context *pipe,
    i915->dirty |= I915_NEW_SAMPLER;
 }
 
+
+static void
+i915_bind_sampler_states(struct pipe_context *pipe, unsigned shader,
+                         unsigned start, unsigned num_samplers,
+                         void **samplers)
+{
+   assert(start == 0);
+
+   switch (shader) {
+   case PIPE_SHADER_VERTEX:
+      i915_bind_vertex_sampler_states(pipe, num_samplers, samplers);
+      break;
+   case PIPE_SHADER_FRAGMENT:
+      i915_bind_fragment_sampler_states(pipe, num_samplers, samplers);
+      break;
+   default:
+      ;
+   }
+}
+
+
 static void i915_delete_sampler_state(struct pipe_context *pipe,
                                       void *sampler)
 {
@@ -1015,6 +1036,7 @@ i915_init_state_functions( struct i915_context *i915 )
    i915->base.delete_blend_state = i915_delete_blend_state;
 
    i915->base.create_sampler_state = i915_create_sampler_state;
+   i915->base.bind_sampler_states = i915_bind_sampler_states;
    i915->base.bind_fragment_sampler_states = i915_bind_fragment_sampler_states;
    i915->base.bind_vertex_sampler_states = i915_bind_vertex_sampler_states;
    i915->base.delete_sampler_state = i915_delete_sampler_state;