From c3b72ea00c9065c4fbed0a93a79b650dbc1cf4ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Sch=C3=BCrmann?= Date: Mon, 10 Nov 2025 11:39:24 +0100 Subject: [PATCH] radv: Only call nir_opt_memcpy once No fossil stats differences. Part-of: --- src/amd/vulkan/radv_shader.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/amd/vulkan/radv_shader.c b/src/amd/vulkan/radv_shader.c index 5e807cdd19b..fbfbfad8a65 100644 --- a/src/amd/vulkan/radv_shader.c +++ b/src/amd/vulkan/radv_shader.c @@ -179,7 +179,6 @@ radv_optimize_nir(struct nir_shader *shader, bool optimize_conservatively) NIR_LOOP_PASS(progress, skip, shader, nir_opt_find_array_copies); } - NIR_LOOP_PASS(progress, skip, shader, nir_opt_memcpy); NIR_LOOP_PASS(progress, skip, shader, nir_opt_copy_prop_vars); NIR_LOOP_PASS(progress, skip, shader, nir_opt_dead_write_vars); NIR_LOOP_PASS(_, skip, shader, nir_lower_vars_to_ssa); @@ -725,9 +724,12 @@ radv_shader_spirv_to_nir(struct radv_device *device, const struct radv_shader_st }; NIR_PASS(_, nir, nir_opt_access, &opt_access_options); - if (!stage->key.optimisations_disabled) + if (!stage->key.optimisations_disabled) { radv_optimize_nir(nir, false); + NIR_PASS(_, nir, nir_opt_memcpy); + } + /* We call nir_lower_var_copies() after the first radv_optimize_nir() * to remove any copies introduced by nir_opt_find_array_copies(). */