How the ACO Mesa Vulkan Shader Compiler For AMD GPUs Came To Be: From Prototype To Default
The Vulkan ACO shader compiler for AMD graphics cards on Linux will be the default shader compiler when Mesa 20.2 is released later this month. Developer Timor Kristóf held a 40 minutes long and interesting talk about the development process and the efforts behind making ACO a reality at the The X.Org Developers Conference 2020. Here it is.
The ACO (AMD Compiler) Vulkan shader compiler has been in development for quite some time. It was merged into Mesa 19.3 and it has been possible to use it by setting the environment variable
in Mesa 19.3 and newer. Setting that environment variable will no longer be necessary when Mesa 20.2 is released later this month (or early next month if it is delayed): ACO is now considered to be mature enough to be the default Vulkan Mesa RADV GPU shader compiler.
A lot of work has gone into making ACO as efficient and stable as it is today. You can learn a lot about how ACO works and the efforts behind it by watching this 40 minute long talk by developer Timor Kristóf at this year's X.Org Developers Conference 2020:
Timor Kristóf finished off by talking about the future plans to bring ACO support to AMD's upcoming RDNA 2 based RX6000 series graphics cards. He said that while AMD has not made any documentation publicly available, there's already enough code to look at in LLVM and the Mesa RadeonSI OpenGL driver to implement ACO support for RX6000 series graphics cards and support is already in the works.