From 1f998b38f450cd1b04a380b04b9933cfa162afc0 Mon Sep 17 00:00:00 2001 From: Natalie Vock Date: Tue, 14 Apr 2026 13:20:36 +0200 Subject: [PATCH] radv: Run nir_opt_deref after first optimization loop Only at this point are loads from uninitialized variables lowered to undef and copy-propagated so that nir_opt_deref's cast-of-undef optimization works properly. Cc: mesa-stable Part-of: --- src/amd/vulkan/radv_shader.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/amd/vulkan/radv_shader.c b/src/amd/vulkan/radv_shader.c index 9b31bb8452d..fd672d2384b 100644 --- a/src/amd/vulkan/radv_shader.c +++ b/src/amd/vulkan/radv_shader.c @@ -785,6 +785,7 @@ radv_shader_spirv_to_nir(struct radv_device *device, struct radv_shader_stage *s radv_optimize_nir(nir, false); NIR_PASS(_, nir, nir_opt_memcpy); + NIR_PASS(_, nir, nir_opt_deref); } /* We call nir_lower_var_copies() after the first radv_optimize_nir()