diff options
author | Brian Paul <[email protected]> | 2013-09-12 15:07:10 -0600 |
---|---|---|
committer | Brian Paul <[email protected]> | 2013-10-03 14:05:26 -0600 |
commit | e5d000c3f1df8af82c602bb714b4da5ed8fe4347 (patch) | |
tree | 6b5680ba9d099d529eff8e10e76f6508b12a41d2 | |
parent | 4bdf7d38422b070d7ec8fa3e15498a6bb35fe7a8 (diff) |
galahad: implement pipe_context::bind_sampler_states()
-rw-r--r-- | src/gallium/drivers/galahad/glhd_context.c | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/src/gallium/drivers/galahad/glhd_context.c b/src/gallium/drivers/galahad/glhd_context.c index 3df22ce332e..f96543e1e90 100644 --- a/src/gallium/drivers/galahad/glhd_context.c +++ b/src/gallium/drivers/galahad/glhd_context.c @@ -197,18 +197,23 @@ galahad_context_bind_sampler_states(struct pipe_context *_pipe, num_samplers, PIPE_MAX_SAMPLERS); } - switch (shader) { - case PIPE_SHADER_VERTEX: - pipe->bind_vertex_sampler_states(pipe, num_samplers, samplers); - break; - case PIPE_SHADER_FRAGMENT: - pipe->bind_fragment_sampler_states(pipe, num_samplers, samplers); - break; - case PIPE_SHADER_GEOMETRY: - pipe->bind_geometry_sampler_states(pipe, num_samplers, samplers); - break; - default: - assert(0); + if (pipe->bind_sampler_states) { + pipe->bind_sampler_states(pipe, shader, start, num_samplers, samplers); + } + else { + switch (shader) { + case PIPE_SHADER_VERTEX: + pipe->bind_vertex_sampler_states(pipe, num_samplers, samplers); + break; + case PIPE_SHADER_FRAGMENT: + pipe->bind_fragment_sampler_states(pipe, num_samplers, samplers); + break; + case PIPE_SHADER_GEOMETRY: + pipe->bind_geometry_sampler_states(pipe, num_samplers, samplers); + break; + default: + assert(0); + } } } @@ -1064,6 +1069,7 @@ galahad_context_create(struct pipe_screen *_screen, struct pipe_context *pipe) GLHD_PIPE_INIT(bind_blend_state); GLHD_PIPE_INIT(delete_blend_state); GLHD_PIPE_INIT(create_sampler_state); + GLHD_PIPE_INIT(bind_sampler_states); GLHD_PIPE_INIT(bind_fragment_sampler_states); GLHD_PIPE_INIT(bind_vertex_sampler_states); GLHD_PIPE_INIT(bind_geometry_sampler_states); |