aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTimothy Arceri <[email protected]>2018-10-18 10:19:16 +1100
committerTimothy Arceri <[email protected]>2018-10-18 15:04:09 +1100
commit8086fa1bcde4876714c2ad3cb429f90a046c2bbe (patch)
tree1975fa9b1215a2a69d0d8aeea58f24646a90da1c /src
parent06675711e713e7ccd66aa076a6ba116286130474 (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.c2
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);