Skip to content

iris: Disable GLSL lower_const_arrays_to_uniforms.

Emma Anholt requested to merge anholt/mesa:iris-constbuf into main

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

Merge request reports