Skip to content

radv: use a mixed LDS/scratch RT traversal stack

Seems to improve RT performance a lot. I'm not sure about the last commit though, it's a bit complicated and doesn't noticeably change Quake II RTX or Control performance

Beginning of Control, 4K at 50% scaling, medium graphics preset, high RT preset, RX 6800: 27 -> 46 FPS

Beginning of Quake II RTX, 4K at 25% scaling, default settings, RX 6800: 51 -> 83 FPS

fossil-db (Sienna Cichlid, Q2RTX and Control):

Totals from 11 (0.72% of 1524) affected shaders:
MaxWaves: 44 -> 106 (+140.91%)
Instrs: 49557 -> 50545 (+1.99%)
CodeSize: 270952 -> 276340 (+1.99%)
LDS: 107008 -> 33792 (-68.42%)
Scratch: 60416 -> 132096 (+118.64%)
Latency: 1198557 -> 1296765 (+8.19%)
InvThroughput: 799039 -> 276363 (-65.41%)
VClause: 1389 -> 1177 (-15.26%); split: -16.34%, +1.08%
SClause: 1223 -> 1227 (+0.33%); split: -0.08%, +0.41%
Copies: 6146 -> 6484 (+5.50%)
Branches: 2195 -> 2336 (+6.42%)
PreSGPRs: 676 -> 683 (+1.04%)
Edited by Rhys Perry

Merge request reports