RadeonSI ACO Code Lands More Functionality
The ACO "Amd COmpiler" started by Valve for the Mesa RADV Vulkan driver has shown it can do wonders for Linux gaming performance and reducing game load times compared to AMD's official AMDGPU LLVM shader compiler back-end. Recently thanks to the work of Qiang Yu there has been much work hitting upstream Mesa for beginning to enable using the ACO compiler by the RadeonSI Gallium3D driver.
For a few weeks now it's been possible to use the ACO compiler for certain shaders with RadeonSI and can be activated by the AMD_DEBUG=useaco environment variable as an alternative to using the AMDGPU LLVM compiler. Initially the support was for monolithic pixel shaders while now Mesa 23.2-devel has expanded that scope a bit.
With this week's newly-merged code, radeonSI ACO can now be enabled for monolithic standalone vertex shaders (VS) too. See this merge request for the latest RadeonSI ACO activity.
Outside of RadeonSI, other ACO compiler improvements continue to happen and just two days ago another addition of a VOPD scheduler was opened. ACO continues working out very well for RADV while in the scope of RadeonSI it's coming years late and at a time where most Linux games directly or indirectly (via DXVK / VKD3D-Proton) are targeting Vulkan with OpenGL having a much more limited role these days on the Linux desktop.
For a few weeks now it's been possible to use the ACO compiler for certain shaders with RadeonSI and can be activated by the AMD_DEBUG=useaco environment variable as an alternative to using the AMDGPU LLVM compiler. Initially the support was for monolithic pixel shaders while now Mesa 23.2-devel has expanded that scope a bit.
With this week's newly-merged code, radeonSI ACO can now be enabled for monolithic standalone vertex shaders (VS) too. See this merge request for the latest RadeonSI ACO activity.
Outside of RadeonSI, other ACO compiler improvements continue to happen and just two days ago another addition of a VOPD scheduler was opened. ACO continues working out very well for RADV while in the scope of RadeonSI it's coming years late and at a time where most Linux games directly or indirectly (via DXVK / VKD3D-Proton) are targeting Vulkan with OpenGL having a much more limited role these days on the Linux desktop.
16 Comments