Skip to content

radv/rt: Optimize update shader VGPR usage

Friedrich Vock requested to merge pixelcluster/mesa:update-shader-opts into main

Brings VGPR allocation down from 72 (absolutely insane) to 32.

We can now reach the theoretical maximum occupancy of 16 waves per SIMD (effectively double what it was before).

We now have a weird-looking store+reload pattern for calculating root node bounds. However, it only gets executed once per dispatch anyway, so it should be meaningless in terms of perf (and carrying either child node bounds or root node bounds in live state around would've reduced occupancy).

One very quick benchmark run seemed to indicate something like -0.5ms in Control on my 6700XT.

Edited by Friedrich Vock

Merge request reports