From: Eric Anholt Date: Wed, 19 Aug 2020 16:16:15 +0000 (-0700) Subject: radv: Move nir_opt_shrink_vectors() into the opt loop. X-Git-Url: https://git.libre-soc.org/?p=mesa.git;a=commitdiff_plain;h=b3c822a0a8665ae84452208e94006f7df802f196 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: --- 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); }