[Mesa-dev] [PATCH 2/5] radeonsi/nir: get correct type for images inside structs

Timothy Arceri tarceri at itsqueeze.com
Wed Jan 9 08:53:54 UTC 2019


---
 src/gallium/drivers/radeonsi/si_shader_nir.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/radeonsi/si_shader_nir.c b/src/gallium/drivers/radeonsi/si_shader_nir.c
index 64acf41679..2c95c62d99 100644
--- a/src/gallium/drivers/radeonsi/si_shader_nir.c
+++ b/src/gallium/drivers/radeonsi/si_shader_nir.c
@@ -163,11 +163,12 @@ static void scan_instruction(struct tgsi_shader_info *info,
 			break;
 		}
 		case nir_intrinsic_image_deref_store: {
+			const nir_deref_instr *image_deref = nir_instr_as_deref(intr->src[0].ssa->parent_instr);
 			nir_variable *var = intrinsic_get_var(intr);
 			if (var->data.bindless) {
 				info->uses_bindless_images = true;
 
-				if (glsl_get_sampler_dim(var->type) == GLSL_SAMPLER_DIM_BUF)
+				if (glsl_get_sampler_dim(image_deref->type) == GLSL_SAMPLER_DIM_BUF)
 					info->uses_bindless_buffer_store = true;
 				else
 					info->uses_bindless_image_store = true;
-- 
2.20.1



More information about the mesa-dev mailing list