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 <bas@basnieuwenhuizen.nl>
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);