diff options
author | Marek Olšák <[email protected]> | 2016-09-10 00:29:31 +0200 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2016-09-12 21:06:57 +0200 |
commit | 546bc07349d0e53b71766780cf726fe21f7d6983 (patch) | |
tree | ef256b4ae1740e37f2bd9a0703eeeef8db358edb /src/mesa/main | |
parent | e2fb0441150e81f7ba30db1c8e8583858c3d8d5e (diff) |
radeonsi: don't preload constants at the beginning of shaders
LLVM can CSE the loads, thus we can always re-load constants before each
use. The decrease in SGPR spilling is huge.
The best improvements are the dumbest ones.
26011 shaders in 14651 tests
Totals:
SGPRS: 1453346 -> 1251920 (-13.86 %)
VGPRS: 742576 -> 728421 (-1.91 %)
Spilled SGPRs: 52298 -> 16644 (-68.17 %)
Spilled VGPRs: 397 -> 369 (-7.05 %)
Scratch VGPRs: 1372 -> 1344 (-2.04 %) dwords per thread
Code Size: 36136488 -> 36001064 (-0.37 %) bytes
LDS: 767 -> 767 (0.00 %) blocks
Max Waves: 219315 -> 222221 (1.33 %)
Reviewed-by: Bas Nieuwenhuizen <[email protected]>
Reviewed-by: Edward O'Callaghan <[email protected]>
Reviewed-by: Nicolai Hähnle <[email protected]>
Diffstat (limited to 'src/mesa/main')
0 files changed, 0 insertions, 0 deletions