Skip to content

radeonsi/nir: lower load constants to scalar

Timothy Arceri requested to merge tarceri/mesa:si_lower_constants into master

We call nir_lower_load_const_to_scalar in the state trackers linker however some later passes can reintroduce constant vectors. Here we lower these to scalar and perform optimisations. The Intel drivers do a similiar call in their backend..

shader-db results VEGA 64:

 Totals from affected shaders:
 SGPRS: 152168 -> 151976 (-0.13 %)
 VGPRS: 135224 -> 135112 (-0.08 %)
 Spilled SGPRs: 4027 -> 4163 (3.38 %)
 Spilled VGPRs: 0 -> 0 (0.00 %)
 Private memory VGPRs: 0 -> 0 (0.00 %)
 Scratch size: 0 -> 0 (0.00 %) dwords per thread
 Code Size: 10670028 -> 10654776 (-0.14 %) bytes
 LDS: 0 -> 0 (0.00 %) blocks
 Max Waves: 13122 -> 13135 (0.10 %)
 Wait states: 0 -> 0 (0.00 %)
Edited by Timothy Arceri

Merge request reports