radeon: don't use old bind_vertex/fragment_sampler_states() hooks
authorBrian Paul <brianp@vmware.com>
Thu, 12 Sep 2013 21:45:52 +0000 (15:45 -0600)
committerBrian Paul <brianp@vmware.com>
Thu, 3 Oct 2013 20:05:28 +0000 (14:05 -0600)
src/gallium/drivers/r300/r300_state.c
src/gallium/drivers/r600/evergreen_compute.c
src/gallium/drivers/r600/r600_state_common.c
src/gallium/drivers/radeonsi/si_state.c

index e10ea164f9f83f7b9e3035e4d149feca591a316d..4aebbea83d8abae5d2550ba50ecd40efe087f231 100644 (file)
@@ -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;
index 306923696940d34815780a161010c5f258fd790e..e36c3a8d8316447bea33f47a47d9df52890f856d 100644 (file)
@@ -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)
index b2688489bf97fa2a30b8d5d0ab4e47f639370e9b..f91aa27f0f9a64f718f0893f420a3817ed28bb63 100644 (file)
@@ -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;
index 2079ffca6bf8cbf67f68bb45cb9502571e572e12..d1b8f6e3df2d659a2d956c68d31f56280e69855f 100644 (file)
@@ -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;