Mesa is a long-running project that started as an open source driver to provide the OpenGL graphics API to a variety of platforms. Today, developers from AMD, Google, Intel, and others are participating. One of the most famous Mesa drivers is RADV: a Vulkan-based driver dedicated to AMD's GPUs running on the Linux operating system. a recent update to this driver, created by developers at Valve, has improved any device using this driver's performance of any device using this driver.
Naturally, what has been done is quite complex, but the bottom line is this: graphics card drivers contain a program called a compiler, which converts shader programs issued by games and applications into a binary format that the GPU can execute. [While AMD's Linux driver for Radeon graphics chips has its own compiler (known as LLVM), RADV uses one created by Valve called ACO (literally Amd COmpiler).
And as reported by Phoronix, this is what was given an important update by the software developers within the Steam Deck team. The compiler tweaks reduced the number of instructions the GPU had to process to achieve the same result, reducing the overall size of the code and improving runtime performance.
According to Phoronix, some have experienced performance gains of as much as 14% on games like Cyberpunk 2077. It is unclear under what circumstances such gains were seen, but for the most part, even if the gains were only a small percentage improvement, they were still completely complimentary gains.
Why is Valve involved in all of this? It comes down to Steam Deck, because the software that runs Steam Deck (SteamOS) is Linux-based and uses RADV drivers for the integrated GPU in the AMD custom processor that drives the handheld PC. Valve's contribution to the Mesa project Valve's contribution to the Mesa project is not only profitable for the company, but also because anyone can download the drivers and use them on their own PCs.
Given that all this work is open source, AMD graphics developers will be able to see the changes and perhaps implement some of them in their compilers. This is because ACO is specifically designed to work with RADV and not directly with AMD's own Linux drivers. [Improving the GPU driver is not an easy task, and it would be nice to see a more robust and efficient driver that can handle the stresses that are placed on the shader compiler in today's ultra-fast graphics games, Valve deserves a lot of credit for their efforts in this area.
If you own a Steam Deck, be sure to keep your software and drivers as up-to-date as possible if you want to improve your compiler's performance.
Comments