Georg Lehmann, an engineer from Valve, has sent in 17 patches to open-source graphics stack Mesa for supporting D16 data format for old AMD GPUs. This update can significantly enhance the performance for those using Linux and old GPUs to play DX12 games. This will definitely bring a notable improvement in performance to the users who bought older Radeon GPU cards.
Mesa 27.0 update brings 16-bit depth support to older AMD GPUs
This update will ease the pressure on VRAM bandwidth usage as well as increase the efficiency of register usage. All these changes are part of Mesa development branch 27.0 targeted towards GFX8 architecture platforms.
- Mesa Version: 27.0 (development branch)
- GPU Architecture: GFX8 (GCN Volcanic Islands to Polaris)
- Driver Components: RadeonSI OpenGL, RADV Vulkan
- New Feature: D16 data format support
GFX8 is a huge lineage that includes early GCN Volcanic Islands and goes up to Polaris GPUs which include popular GPUs like RX 470 or RX 580. Previously, these old GPUs had depth and color data using 32 bits values which made it resource hungry. The new patches provide a better way for RadeonSI OpenGL and RADV Vulkan drivers to support 16-bits data. This improvement leads to better gameplay for DX12 games on Linux while using VKD3D-Proton.
Until now, only GFX9 and later had the support for D16 which meant old GPUs were left out. It is worth mentioning that AMD has already stopped the support for these old GPUs on their official AMDVLK Vulkan driver. So, the only option for these GPUs to be relevant is to use open-source drivers. 16-bits data modifiers reduce the amount of data passing between GPU and VRAM. With this improvement, register usage efficiency becomes better when the application supports lesser data types.
These updates give a longer life for old GPUs which are still being used by users for budget gaming. All the GPUs from GFX8 lineage are included in this update which means there are several generations of Radeon GPUs. The way this is implemented provides a better way to work with 16-bits depth and color data which might translate to better performance numbers for DX12 games. These software updates ensure the longevity of old AMD GPUs to use it in modern gaming applications on Linux.



Does this fix the depth buffer issues in specific DX12 titles or is it a general driver optimization? I am running an RX 580 on Arch.
It applies to all GFX8 cards via RadeonSI and RADV. The D16 format cuts VRAM bandwidth pressure by half for depth data. It is not title specific but helps any game using 16 bit depth.
Finally some love for the Polaris cards. My 580 is still going strong but VRAM is always tight. This should help with stuttering in heavier titles.
Georg Lehmann submitted 17 patches. That is a solid block of work for open source maintenance. It is nice to see Valve funding this kind of low level driver work.
The article claims it increases register usage efficiency. I would need to see the assembly output to believe that claim. Bandwidth reduction is plausible but register pressure is complex.
The patches target Mesa 27.0 development branch. Users on stable 23.2 will not see this yet. You need to track the unstable repo or wait for the next stable point release.
AMD stopped support for these cards on their official driver. This is why open source is vital for older hardware. It extends the life of the card significantly.
dx12 on linux via proton is getting better every year. hopefully this makes the jump less painful for budget builds. 🤔