Skip to content

radeonsi,st/nir: call nir_opt_access before gl_nir_lower_buffers

nir_opt_access should be run with deref-based SSBO access.

shader-db for the first commit

Totals:
SGPRS: 2393976 -> 2393968 (-0.00 %)
VGPRS: 1621044 -> 1621012 (-0.00 %)
Spilled SGPRs: 4575 -> 4631 (1.22 %)
Spilled VGPRs: 36 -> 36 (0.00 %)
Private memory VGPRs: 0 -> 0 (0.00 %)
Scratch size: 48 -> 48 (0.00 %) dwords per thread
Code Size: 59460948 -> 59462212 (0.00 %) bytes
LDS: 132 -> 132 (0.00 %) blocks
Max Waves: 454620 -> 454623 (0.00 %)
Wait states: 0 -> 0 (0.00 %)

Totals from affected shaders:
SGPRS: 4232 -> 4224 (-0.19 %)
VGPRS: 3480 -> 3448 (-0.92 %)
Spilled SGPRs: 120 -> 176 (46.67 %)
Spilled VGPRs: 0 -> 0 (0.00 %)
Private memory VGPRs: 0 -> 0 (0.00 %)
Scratch size: 0 -> 0 (0.00 %) dwords per thread
Code Size: 188568 -> 189832 (0.67 %) bytes
LDS: 0 -> 0 (0.00 %) blocks
Max Waves: 622 -> 625 (0.48 %)
Wait states: 0 -> 0 (0.00 %)

shader-db for the second commit:

Totals:
SGPRS: 2393968 -> 2393968 (0.00 %)
VGPRS: 1621012 -> 1621012 (0.00 %)
Spilled SGPRs: 4631 -> 4631 (0.00 %)
Spilled VGPRs: 36 -> 36 (0.00 %)
Private memory VGPRs: 0 -> 0 (0.00 %)
Scratch size: 48 -> 48 (0.00 %) dwords per thread
Code Size: 59462212 -> 59462012 (-0.00 %) bytes
LDS: 132 -> 132 (0.00 %) blocks
Max Waves: 454623 -> 454623 (0.00 %)
Wait states: 0 -> 0 (0.00 %)

Totals from affected shaders:
SGPRS: 2704 -> 2704 (0.00 %)
VGPRS: 2404 -> 2404 (0.00 %)
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: 112960 -> 112760 (-0.18 %) bytes
LDS: 128 -> 128 (0.00 %) blocks
Max Waves: 461 -> 461 (0.00 %)
Wait states: 0 -> 0 (0.00 %)

I don't know why there are shader-db changes from the second commit. I can't reproduce them when compiling some of the individual shaders that were affected

Merge request reports