AMD ACO Backend Implements 8-bit / 16-bit Storage Capabilities - Needed For DOOM Eternal

Written by Michael Larabel in Mesa on 4 April 2020 at 03:25 AM EDT. 10 Comments
It's been another busy week for Mesa's RADV Vulkan driver with the Valve-backed ACO compiler back-end alternative to AMDGPU LLVM.

ACO, which has been wildly popular with Radeon Linux gamers for offering quicker load times and often better overall performance, continues working quite well though isn't the default yet and has been missing some features in comparison to AMDGPU LLVM.

The newest Vulkan features now working with ACO are VK_KHR_8bit_storage and VK_KHR_16bit_storage. VK_KHR_8bit_storage allows for 8-bit types within uniform and storage buffers as well as push constant blocks. VK_KHR_16bit_storage provides for 16-bit types in shader input and output interfaces along with push constant blocks.

There has been this merge request pending for a month to add the 8-bit / 16-bit storage capabilities to the ACO code while now it's in place. These extensions are most notable at the moment for being a requirement for DOOM Eternal on Linux under Steam Play.

Another notable addition for ACO that was merged on Friday is exposing compiler statistics for ACO. This should help in allowing for more future optimizations to the ACO code thanks to having these convenient statistics around branches, busy cycles, and other areas.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via

Popular News This Week