Separate from the Mesa merge request talked about earlier today for new RADV code that can deliver 10x faster ray-tracing pipeline compilation for this open-source Radeon Vulkan driver, another merge request landed today in Mesa 26.0 that was also carried out by Valve contractor Natalie Vock. That second merge request now in Mesa 26.0 delivers some additional gains for at least some ray-tracing games on RDNA3 and RDNA4 GPUs.
Natalie Vock opened a merge request two days ago to switch to using Wave32 rather than Wave64 for ray-tracing with GFX11 and newer. For now that amounts to AMD’s Radeon RDNA3 and RDNA4 graphics processors.
RDNA1/RDNA2 GPUs were already using Wave32 for ray-tracing shaders but until the code was merged today RDNA3 and RDNA4 were still using Wave64. With Mesa 26.0, all RDNA GPUs now will use Wave32 for ray-tracing shaders. Vock explained in this commit the change and the somewhat small but still notable impact now that the ACO compiler back-end is in better shape:
ACO got a lot better at forming VOPD instructions, and testing feedback seems to point in a slightly positive direction for this.
gfx12 will also start requiring wave32 for dynamic VGPR allocation at some point.
Measurements on navi31:
Cyberpunk 2077:
Difference at 95.0% confidence
1.12333 +/- 0.42876
1.88216% +/- 0.718391%
(Student’s t, pooled s = 0.189165)Black Myth Wukong benchmark:
Difference at 95.0% confidence
4 +/- 1.30862
13.9535% +/- 4.56495%
(Student’s t, pooled s = 0.57735)Portal with RTX:
66.2ms->61.5ms (~7.64% improvement)
Wave32 for 32 threads per clock cycle can offer lower latency and better efficiency for graphics over Wave64 even though RDNA GPUs support both modes.
Great seeing all the ray-tracing improvements that Valve has been working on for the AMD RADV open-source driver for not only benefiting the Steam Deck and upcoming Steam Machine but Radeon Linux graphics at large.
