From e6612a3e685b57714c3acde66b88bfee8aeb107f Mon Sep 17 00:00:00 2001 From: =?utf8?q?Nicolai=20H=C3=A4hnle?= Date: Fri, 3 Jun 2016 15:03:59 +0200 Subject: [PATCH] radeonsi: pass shader stage to si_set_sampler_view MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Reviewed-by: Bas Nieuwenhuizen Reviewed-by: Marek Olšák --- src/gallium/drivers/radeonsi/si_descriptors.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/gallium/drivers/radeonsi/si_descriptors.c b/src/gallium/drivers/radeonsi/si_descriptors.c index 0065ac55856..b1abdd2ba8b 100644 --- a/src/gallium/drivers/radeonsi/si_descriptors.c +++ b/src/gallium/drivers/radeonsi/si_descriptors.c @@ -330,10 +330,11 @@ void si_set_mutable_tex_desc_fields(struct r600_texture *tex, } static void si_set_sampler_view(struct si_context *sctx, - struct si_sampler_views *views, + unsigned shader, unsigned slot, struct pipe_sampler_view *view, bool disallow_early_out) { + struct si_sampler_views *views = &sctx->samplers[shader].views; struct si_sampler_view *rview = (struct si_sampler_view*)view; if (views->views[slot] == view && !disallow_early_out) @@ -412,11 +413,11 @@ static void si_set_sampler_views(struct pipe_context *ctx, if (!views || !views[i]) { samplers->depth_texture_mask &= ~(1u << slot); samplers->compressed_colortex_mask &= ~(1u << slot); - si_set_sampler_view(sctx, &samplers->views, slot, NULL, false); + si_set_sampler_view(sctx, shader, slot, NULL, false); continue; } - si_set_sampler_view(sctx, &samplers->views, slot, views[i], false); + si_set_sampler_view(sctx, shader, slot, views[i], false); if (views[i]->texture && views[i]->texture->target != PIPE_BUFFER) { struct r600_texture *rtex = @@ -1433,7 +1434,7 @@ void si_update_all_texture_descriptors(struct si_context *sctx) view->texture->target == PIPE_BUFFER) continue; - si_set_sampler_view(sctx, samplers, i, + si_set_sampler_view(sctx, shader, i, samplers->views[i], true); } } -- 2.30.2