How the ACO Mesa Vulkan Shader Compiler For AMD GPUs Came To Be: From Prototype To Default

From LinuxReviews
Jump to navigationJump to search

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.

written by 윤채경 (Yoon Chae-kyung)  2020-09-18 - last edited 2020-10-11. © CC BY

MSI Kombustor v4.1.6.0 Donut On Linux Using Wine.jpg
A fancy Donut rendered in the MSI Kombustor GPU stress-test running under Wine rendered using the Vulkan ACO shader compiler for AMD graphics cards.

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

export RADV_PERFTEST=aco

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:

Copyright X.Org Developers Conference 2020. Licensed under Creative Commons CC-BY.

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.

(4 votes)

Add your comment
LinuxReviews welcomes all comments. If you do not want to be anonymous, register or log in. It is free.