Mesa (master): radeonsi/nir: get correct type for images inside structs

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Jan 16 23:41:49 UTC 2019


Module: Mesa
Branch: master
Commit: e106e0f2dd6d80554c70cbba32e8e196bf1186ec
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e106e0f2dd6d80554c70cbba32e8e196bf1186ec

Author: Timothy Arceri <tarceri at itsqueeze.com>
Date:   Wed Jan  9 14:53:52 2019 +1100

radeonsi/nir: get correct type for images inside structs

Reviewed-by: Marek Olšák <marek.olsak at amd.com>

---

 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 a1bc4cbd1a..c89a1e6f91 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;




More information about the mesa-commit mailing list