RadeonSI Gallium3D Driver Wires Up Wave32 Improvements For RDNA GPUs

Well known open-source AMD OpenGL driver expert Marek Olšák has now landed the merge request, radeonsi: add Wave32 and primitive binning heuristics and shader profiles, stronger loop unrolling. In there is support for unrolling loops of up to roughly 128 iterations that helps the performance in some scenarios (like SPECViewPerf13), various NIR improvements, and then the Wave32 heuristics and shader profiles.
With that merge is a new RadeonSI debug option of "w32psdiscard" for Wave32 discard in expanded use-cases. The option reads, "Use Wave32 for pixel shaders even if they contain discard and LLVM is buggy."
Long story short, these Wave32 additions should help with better performance in some areas on AMD Radeon RDNA-class GPUs. Fortunately, it's time for our year-end graphics driver benchmark comparisons, so we'll see how things are shaking.
More details in this MR now part of Mesa 22.0-devel.
Add A Comment