Radeon RADV "ACO" Performance On Mesa 19.3 Looking Good
With the ACO shader compiler back-end merged for Mesa 19.3 as of mid-September and more improvements merged since then, it's now very easy to try out this alternative to AMD's longstanding AMDGPU LLVM compiler back-end. ACO, which is developed by Valve and their contractors outside of AMD, is looking quite good not only for quicker shader compilation (more punctual game load times) but also helping the performance of some Vulkan-powered games. Here are our latest ACO benchmarks.
Now that the ACO compiler back-end with Mesa 19.3 has settled down a bit since its recent merge, I just wrapped up some testing of Mesa 19.3-devel of the default AMDGPU LLVM compiler back-end and then switching over to the ACO back-end. With Mesa 19.3+, it's as easy as setting the RADV_PERFTEST=aco environment variable for activating the alternative back-end. But be aware currently the back-end supports just GFX8 and GFX9 hardware through Vega: older hardware doesn't appear to be part of their support target and the Navi/GFX10 support is a work-in-progress and not ready yet. Beyond that, Valve still has more performance improvements and capabilities planned.
With still being weeks out from the Mesa 19.3 feature freeze, for this latest comparison the Radeon RX 580, RX Vega 56, and Radeon VII graphics cards were used given the lack of Navi support yet. Via the Phoronix Test Suite a range of Vulkan games were run both native ports as well as Steam Play games through DXVK. There is also talk of porting ACO to the RadeonSI OpenGL driver but as of now, this back-end is only wired in for the RADV driver.