diff options
author | Timothy Arceri <[email protected]> | 2018-10-18 10:19:16 +1100 |
---|---|---|
committer | Timothy Arceri <[email protected]> | 2018-10-18 15:04:09 +1100 |
commit | 8086fa1bcde4876714c2ad3cb429f90a046c2bbe (patch) | |
tree | 1975fa9b1215a2a69d0d8aeea58f24646a90da1c /src | |
parent | 06675711e713e7ccd66aa076a6ba116286130474 (diff) |
radv: use nir_split_array_vars()
We call in the opt loop in case another pass results in an
array with indirect access being turned into direct access.
Totals from affected shaders:
SGPRS: 512 -> 496 (-3.12 %)
VGPRS: 456 -> 452 (-0.88 %)
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: 40040 -> 39664 (-0.94 %) bytes
LDS: 0 -> 0 (0.00 %) blocks
Max Waves: 41 -> 43 (4.88 %)
Wait states: 0 -> 0 (0.00 %)
All affected shaders are from Batman Arkham City.
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Diffstat (limited to 'src')
-rw-r--r-- | src/amd/vulkan/radv_shader.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/amd/vulkan/radv_shader.c b/src/amd/vulkan/radv_shader.c index 52aa83d4a5a..13858b6130f 100644 --- a/src/amd/vulkan/radv_shader.c +++ b/src/amd/vulkan/radv_shader.c @@ -126,6 +126,8 @@ radv_optimize_nir(struct nir_shader *shader, bool optimize_conservatively, do { progress = false; + NIR_PASS(progress, shader, nir_split_array_vars, nir_var_local); + NIR_PASS_V(shader, nir_lower_vars_to_ssa); NIR_PASS_V(shader, nir_lower_pack); |