[Mesa-dev] [PATCH 7/9] radeonsi: pass shader stage to si_disable_shader_image

Nicolai Hähnle nhaehnle at gmail.com
Fri Jun 3 17:01:29 UTC 2016


From: Nicolai Hähnle <nicolai.haehnle at amd.com>

---
 src/gallium/drivers/radeonsi/si_descriptors.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/gallium/drivers/radeonsi/si_descriptors.c b/src/gallium/drivers/radeonsi/si_descriptors.c
index 184839d..2d688aa 100644
--- a/src/gallium/drivers/radeonsi/si_descriptors.c
+++ b/src/gallium/drivers/radeonsi/si_descriptors.c
@@ -502,15 +502,19 @@ si_image_views_begin_new_cs(struct si_context *sctx, struct si_images_info *imag
 }
 
 static void
-si_disable_shader_image(struct si_images_info *images, unsigned slot)
+si_disable_shader_image(struct si_context *ctx, unsigned shader, unsigned slot)
 {
+	struct si_images_info *images = &ctx->images[shader];
+
 	if (images->enabled_mask & (1u << slot)) {
+		struct si_descriptors *descs = &images->desc;
+
 		pipe_resource_reference(&images->views[slot].resource, NULL);
 		images->compressed_colortex_mask &= ~(1 << slot);
 
-		memcpy(images->desc.list + slot*8, null_image_descriptor, 8*4);
+		memcpy(descs->list + slot*8, null_image_descriptor, 8*4);
 		images->enabled_mask &= ~(1u << slot);
-		images->desc.dirty_mask |= 1u << slot;
+		descs->dirty_mask |= 1u << slot;
 	}
 }
 
@@ -541,7 +545,7 @@ static void si_set_shader_image(struct si_context *ctx,
 	struct r600_resource *res;
 
 	if (!view || !view->resource) {
-		si_disable_shader_image(images, slot);
+		si_disable_shader_image(ctx, shader, slot);
 		return;
 	}
 
-- 
2.7.4



More information about the mesa-dev mailing list