From: Timothy Arceri Date: Wed, 17 Oct 2018 21:55:46 +0000 (+1100) Subject: radv: use nir_opt_copy_prop_vars and nir_opt_dead_write_vars X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9d5b106b2efbd5a4bbbe54a5a00c8cebd642d960;p=mesa.git radv: use nir_opt_copy_prop_vars and nir_opt_dead_write_vars Totals from affected shaders: SGPRS: 2856 -> 2856 (0.00 %) VGPRS: 3236 -> 3248 (0.37 %) Spilled SGPRs: 0 -> 0 (0.00 %) Spilled VGPRs: 0 -> 0 (0.00 %) Private memory VGPRs: 0 -> 0 (0.00 %) Scratch size: 0 -> 0 (0.00 %) dwords per thread Code Size: 236560 -> 233548 (-1.27 %) bytes LDS: 0 -> 0 (0.00 %) blocks Max Waves: 277 -> 283 (2.17 %) Wait states: 0 -> 0 (0.00 %) Even in the cases were we have increased VGPR use it appears the NIR is improved significantly. Reviewed-by: Bas Nieuwenhuizen --- diff --git a/src/amd/vulkan/radv_shader.c b/src/amd/vulkan/radv_shader.c index 3e3eb96a531..3b3422c8da6 100644 --- a/src/amd/vulkan/radv_shader.c +++ b/src/amd/vulkan/radv_shader.c @@ -127,6 +127,10 @@ radv_optimize_nir(struct nir_shader *shader, bool optimize_conservatively) NIR_PASS_V(shader, nir_lower_vars_to_ssa); NIR_PASS_V(shader, nir_lower_pack); + + NIR_PASS(progress, shader, nir_opt_copy_prop_vars); + NIR_PASS(progress, shader, nir_opt_dead_write_vars); + NIR_PASS_V(shader, nir_lower_alu_to_scalar); NIR_PASS_V(shader, nir_lower_phis_to_scalar);