iris: Disable GLSL lower_const_arrays_to_uniforms.
We want to use nir_opt_large_constants() instead (which is already enabled), since that doesn't involve uploading the large immediate data array again on each CB0 update. The downside is a bit of addressing math, since constant_data is accessed using 64-bit global addresses.
The SKL shader-db results look nice:
total instructions in shared programs: 9076601 -> 9065836 (-0.12%)
instructions in affected programs: 33845 -> 23080 (-31.81%)
total loops in shared programs: 2118 -> 2115 (-0.14%)
loops in affected programs: 3 -> 0
total cycles in shared programs: 294234124 -> 294074217 (-0.05%)
cycles in affected programs: 788718 -> 628811 (-20.27%)
total spills in shared programs: 2293 -> 853 (-62.80%)
spills in affected programs: 1440 -> 0
total fills in shared programs: 1033 -> 1009 (-2.32%)
fills in affected programs: 24 -> 0
total sends in shared programs: 487640 -> 487621 (<.01%)
sends in affected programs: 289 -> 270 (-6.57%)
LOST: 0
GAINED: 15 (SIMD32 shaders for synmark, natural selection 2, amnesia, and
android garden1)
Edited by Emma Anholt