From: Brian Paul Date: Thu, 12 Sep 2013 21:45:52 +0000 (-0600) Subject: radeon: don't use old bind_vertex/fragment_sampler_states() hooks X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=27c054edf0ae92c8c498830e7c7510fa94f5dcfd;p=mesa.git radeon: don't use old bind_vertex/fragment_sampler_states() hooks --- diff --git a/src/gallium/drivers/r300/r300_state.c b/src/gallium/drivers/r300/r300_state.c index e10ea164f9f..4aebbea83d8 100644 --- a/src/gallium/drivers/r300/r300_state.c +++ b/src/gallium/drivers/r300/r300_state.c @@ -1522,25 +1522,6 @@ static void* return (void*)sampler; } -static void r300_bind_fragment_sampler_states(struct pipe_context* pipe, - unsigned count, - void** states) -{ - struct r300_context* r300 = r300_context(pipe); - struct r300_textures_state* state = - (struct r300_textures_state*)r300->textures_state.state; - unsigned tex_units = r300->screen->caps.num_tex_units; - - if (count > tex_units) { - return; - } - - memcpy(state->sampler_states, states, sizeof(void*) * count); - state->sampler_state_count = count; - - r300_mark_atom_dirty(r300, &r300->textures_state); -} - static void r300_bind_sampler_states(struct pipe_context* pipe, unsigned shader, unsigned start, unsigned count, @@ -2183,8 +2164,6 @@ void r300_init_state_functions(struct r300_context* r300) r300->context.create_sampler_state = r300_create_sampler_state; r300->context.bind_sampler_states = r300_bind_sampler_states; - r300->context.bind_fragment_sampler_states = r300_bind_fragment_sampler_states; - r300->context.bind_vertex_sampler_states = r300_lacks_vertex_textures; r300->context.delete_sampler_state = r300_delete_sampler_state; r300->context.set_fragment_sampler_views = r300_set_fragment_sampler_views; diff --git a/src/gallium/drivers/r600/evergreen_compute.c b/src/gallium/drivers/r600/evergreen_compute.c index 30692369694..e36c3a8d831 100644 --- a/src/gallium/drivers/r600/evergreen_compute.c +++ b/src/gallium/drivers/r600/evergreen_compute.c @@ -615,22 +615,6 @@ static void evergreen_set_cs_sampler_view(struct pipe_context *ctx_, } } -static void evergreen_bind_compute_sampler_states( - struct pipe_context *ctx_, - unsigned start_slot, - unsigned num_samplers, - void **samplers_) -{ - struct compute_sampler_state ** samplers = - (struct compute_sampler_state **)samplers_; - - for (int i = 0; i < num_samplers; i++) { - if (samplers[i]) { - /* XXX: Implement */ - assert(!"Compute samplers not implemented."); - } - } -} static void evergreen_set_global_binding( struct pipe_context *ctx_, unsigned first, unsigned n, @@ -865,7 +849,6 @@ void evergreen_init_compute_state_functions(struct r600_context *ctx) // ctx->context.create_sampler_view = evergreen_compute_create_sampler_view; ctx->b.b.set_compute_resources = evergreen_set_compute_resources; ctx->b.b.set_compute_sampler_views = evergreen_set_cs_sampler_view; - ctx->b.b.bind_compute_sampler_states = evergreen_bind_compute_sampler_states; ctx->b.b.set_global_binding = evergreen_set_global_binding; ctx->b.b.launch_grid = evergreen_launch_grid; @@ -874,7 +857,6 @@ void evergreen_init_compute_state_functions(struct r600_context *ctx) ctx->cs_vertex_buffer_state.dirty_mask = 0x2; } - struct pipe_resource *r600_compute_global_buffer_create( struct pipe_screen *screen, const struct pipe_resource *templ) diff --git a/src/gallium/drivers/r600/r600_state_common.c b/src/gallium/drivers/r600/r600_state_common.c index b2688489bf9..f91aa27f0f9 100644 --- a/src/gallium/drivers/r600/r600_state_common.c +++ b/src/gallium/drivers/r600/r600_state_common.c @@ -394,6 +394,12 @@ static void r600_bind_sampler_states(struct pipe_context *pipe, assert(start == 0); /* XXX fix below */ + if (shader != PIPE_SHADER_VERTEX && + shader != PIPE_SHADER_FRAGMENT) { + assert(!"Only vertex/fragment sampler are implemented."); + return; + } + for (i = 0; i < count; i++) { struct r600_pipe_sampler_state *rstate = rstates[i]; @@ -437,16 +443,6 @@ static void r600_bind_sampler_states(struct pipe_context *pipe, } } -static void r600_bind_vs_sampler_states(struct pipe_context *ctx, unsigned count, void **states) -{ - r600_bind_sampler_states(ctx, PIPE_SHADER_VERTEX, 0, count, states); -} - -static void r600_bind_ps_sampler_states(struct pipe_context *ctx, unsigned count, void **states) -{ - r600_bind_sampler_states(ctx, PIPE_SHADER_FRAGMENT, 0, count, states); -} - static void r600_delete_sampler_state(struct pipe_context *ctx, void *state) { free(state); @@ -2086,11 +2082,9 @@ void r600_init_common_state_functions(struct r600_context *rctx) rctx->b.b.bind_blend_state = r600_bind_blend_state; rctx->b.b.bind_depth_stencil_alpha_state = r600_bind_dsa_state; rctx->b.b.bind_sampler_states = r600_bind_sampler_states; - rctx->b.b.bind_fragment_sampler_states = r600_bind_ps_sampler_states; rctx->b.b.bind_fs_state = r600_bind_ps_state; rctx->b.b.bind_rasterizer_state = r600_bind_rs_state; rctx->b.b.bind_vertex_elements_state = r600_bind_vertex_elements; - rctx->b.b.bind_vertex_sampler_states = r600_bind_vs_sampler_states; rctx->b.b.bind_vs_state = r600_bind_vs_state; rctx->b.b.delete_blend_state = r600_delete_blend_state; rctx->b.b.delete_depth_stencil_alpha_state = r600_delete_dsa_state; diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c index 2079ffca6bf..d1b8f6e3df2 100644 --- a/src/gallium/drivers/radeonsi/si_state.c +++ b/src/gallium/drivers/radeonsi/si_state.c @@ -3031,8 +3031,6 @@ void si_init_state_functions(struct r600_context *rctx) 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; rctx->b.b.create_sampler_view = si_create_sampler_view;