diff options
author | Brian Paul <[email protected]> | 2013-09-12 15:09:01 -0600 |
---|---|---|
committer | Brian Paul <[email protected]> | 2013-10-03 14:05:26 -0600 |
commit | 8280b29d7c9fa472e2e7e10e5f920e04075186e2 (patch) | |
tree | 2e045a2e9dfc1c9ee1a109793fa7402a4c55c6b1 /src/gallium/drivers/radeonsi/si_state.c | |
parent | 0de99d52b7953a90da69cc33dfaf2f15467a0d2b (diff) |
radeon: implement pipe_context::bind_sampler_states()
Diffstat (limited to 'src/gallium/drivers/radeonsi/si_state.c')
-rw-r--r-- | src/gallium/drivers/radeonsi/si_state.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c index 1d5f4b7afa3..2079ffca6bf 100644 --- a/src/gallium/drivers/radeonsi/si_state.c +++ b/src/gallium/drivers/radeonsi/si_state.c @@ -2772,6 +2772,27 @@ static void si_bind_ps_sampler_states(struct pipe_context *ctx, unsigned count, si_pm4_set_state(rctx, ps_sampler, pm4); } + +static void si_bind_sampler_states(struct pipe_context *ctx, unsigned shader, + unsigned start, unsigned count, + void **states) +{ + assert(start == 0); + + switch (shader) { + case PIPE_SHADER_VERTEX: + si_bind_vs_sampler_states(ctx, count, states); + break; + case PIPE_SHADER_FRAGMENT: + si_bind_ps_sampler_states(ctx, count, states); + break; + default: + ; + } +} + + + static void si_set_sample_mask(struct pipe_context *ctx, unsigned sample_mask) { struct r600_context *rctx = (struct r600_context *)ctx; @@ -3009,6 +3030,7 @@ void si_init_state_functions(struct r600_context *rctx) rctx->b.b.delete_fs_state = si_delete_ps_shader; rctx->b.b.create_sampler_state = si_create_sampler_state; + rctx->b.b.bind_sampler_states = si_bind_sampler_states; rctx->b.b.bind_vertex_sampler_states = si_bind_vs_sampler_states; rctx->b.b.bind_fragment_sampler_states = si_bind_ps_sampler_states; rctx->b.b.delete_sampler_state = si_delete_sampler_state; |