Mesa 20.2 RADV Driver Flips On ACO By Default For Quicker Game Load Times, Better Performance
With the last of the blockers cleared for reaching feature parity with the AMDGPU LLVM back-end, RADV is now defaulting to using ACO in place of the AMDGPU LLVM shader compiler that is currently used by RadeonSI, ROCm, and other AMD graphics driver components. RADV though being developed outside of AMD by the community and stakeholders at Valve / Red Hat / Google have the flexibility of changing the default to this AMD compiler back-end that was funded by Valve over the past year, merged for Mesa 20.0, and in good enough shape that it's now the default with next quarter's Mesa 20.2.
On recent Mesa releases it's just been a matter of setting RADV_PERFTEST=aco to enable, but given it's now at feature parity to the LLVM code path while generally delivering faster compiles (thus quicker game loads) and better performance, it's safe to make it the default.
ACO developer Daniel Schürmann noted, "No more dragons have been seen, caution is still required..."
Fresh RADV+ACO vs. LLVM benchmarks coming up soon on Phoronix. The Git activity today did also add a RADV_DEBUG=llvm flag for those wanting to fall-back to using the LLVM back-end whether it be due to bisecting issues / regressions or other analysis. Moving forward with new GPU generations it will be interesting to see how quickly ACO will be adapted and if it will still keep an early lead over the official open-source AMDGPU shader compiler.