ilo: implement pipe_context::bind_sampler_states()

This commit is contained in:
Brian Paul 2013-09-12 15:07:39 -06:00
parent 9564ec8317
commit 41a9be70e4

View 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;