RadeonSI Finally Sees Experimental ACO Patches As Alternative To LLVM Shader Compiler
The Valve-backed ACO shader compiler for Mesa's Radeon Vulkan "RADV" driver has been an enormous success story where this year it's been the default as opposed to AMD's officially supported AMDGPU LLVM shader compiler back-end as pretty much for all major Linux gaming workloads is delivering superior performance. RADV+ACO performance has been so great that gamers have been eager to see the RadeonSI Gallium3D driver also adapted to see ACO as an option to the same AMDGPU LLVM back-end. Well, experimental patches have finally materialized.
AMD's own Marek Olšák has been working on an experimental wiring up of ACO for the RadeonSI Gallium3D driver. Marek is well known for his performance optimizations to Mesa over the past decade or so and it's interesting to note he's wiring it up to RadeonSI as opposed to the Valve contractors or community developers.
There was a Mesa merge request opened this weekend entitled ac,radeonsi: shader cleanups for ACO. There are no comments explaining the work or motivation but one of the patches within there is aco experiment. That patch prototypes the implementation of the ACO compiler for RadeonSI.
But before getting too excited, Marek notes in the commit, "This won't be pushed."
After users have been eager for seeing potential RadeonSI ACO support for months, at least there is this experimental code available for those interested. We'll see where this leads and ultimately how the experimental ACO performance looks and ultimately whether some later iteration of the RadeonSI+ACO support will be merged into Mesa in 2021.