Another Optimization Comes For Radeon RADV Ray-Tracing In Mesa 24.1
Valve contractor Friedrich Vock who is part of the team working on the open-source Linux graphics drivers has merged another RADV ray-tracing optimization for this open-source AMD Vulkan driver with this improvement in next quarter's Mesa 24.1 release.
Vock's optimization is around the vector general purpose register (VGPR) usage during ray-tracing and nets around half the VGPR vector register use as needed previously. Vock explained in the merge request:
It's great seeing the near-constant flow of open-source Linux graphics driver enhancements from Valve's team to better the support not only for the Valve Steam Deck but AMD Radeon graphics at large.
This optimization is in Mesa Git as of this evening.
Vock's optimization is around the vector general purpose register (VGPR) usage during ray-tracing and nets around half the VGPR vector register use as needed previously. Vock explained in the merge request:
"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."
It's great seeing the near-constant flow of open-source Linux graphics driver enhancements from Valve's team to better the support not only for the Valve Steam Deck but AMD Radeon graphics at large.
This optimization is in Mesa Git as of this evening.
37 Comments