radv: use nir_shrink_vec_array_vars()
authorTimothy Arceri <tarceri@itsqueeze.com>
Wed, 17 Oct 2018 23:23:42 +0000 (10:23 +1100)
committerTimothy Arceri <tarceri@itsqueeze.com>
Thu, 18 Oct 2018 04:04:09 +0000 (15:04 +1100)
Totals from affected shaders:
SGPRS: 1096 -> 1096 (0.00 %)
VGPRS: 1192 -> 1056 (-11.41 %)
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: 100940 -> 94384 (-6.49 %) bytes
LDS: 0 -> 0 (0.00 %) blocks
Max Waves: 100 -> 112 (12.00 %)
Wait states: 0 -> 0 (0.00 %)

All affected shaders are from Batman Arkham City.

Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
src/amd/vulkan/radv_shader.c

index 13858b6130fd770b1f2d5bd291a2ff653b0ac7af..15c9de1e02005fbee870440183adffd5d4f06fa7 100644 (file)
@@ -127,6 +127,7 @@ radv_optimize_nir(struct nir_shader *shader, bool optimize_conservatively,
                 progress = false;
 
                NIR_PASS(progress, shader, nir_split_array_vars, nir_var_local);
+               NIR_PASS(progress, shader, nir_shrink_vec_array_vars, nir_var_local);
 
                 NIR_PASS_V(shader, nir_lower_vars_to_ssa);
                NIR_PASS_V(shader, nir_lower_pack);