From b3c822a0a8665ae84452208e94006f7df802f196 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Wed, 19 Aug 2020 09:16:15 -0700 Subject: [PATCH] radv: Move nir_opt_shrink_vectors() into the opt loop. Upcoming changes to opt_undef will result in this pass doing more work and generating vector MOVs that need re-scalarizing (which is inside of the main opt loop). Reviewed-by: Rhys Perry Part-of: --- src/amd/vulkan/radv_shader.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/amd/vulkan/radv_shader.c b/src/amd/vulkan/radv_shader.c index 16253979b08..03cfe993beb 100644 --- a/src/amd/vulkan/radv_shader.c +++ b/src/amd/vulkan/radv_shader.c @@ -278,13 +278,13 @@ radv_optimize_nir(struct nir_shader *shader, bool optimize_conservatively, } NIR_PASS(progress, shader, nir_opt_undef); + NIR_PASS(progress, shader, nir_opt_shrink_vectors); if (shader->options->max_unroll_iterations) { NIR_PASS(progress, shader, nir_opt_loop_unroll, 0); } } while (progress && !optimize_conservatively); NIR_PASS(progress, shader, nir_opt_conditional_discard); - NIR_PASS(progress, shader, nir_opt_shrink_vectors); NIR_PASS(progress, shader, nir_opt_move, nir_move_load_ubo); } -- 2.30.2