Linux Kernel & OS

Valve's Georg Lehmann enables D16 support for AMD GFX8 GPUs in Mesa 27.0

Key Takeaway

Mesa 27.0-devel adds 16-bit D16 data modifier support for AMD GCN Volcanic Islands through Polaris GPUs in both RadeonSI OpenGL and RADV Vulkan drivers via the ACO compiler.

Summary

Georg Lehmann of Valve's Linux graphics team has merged 17 patches into Mesa 27.0-devel that enable D16 support for AMD's GFX8 generation of GPUs, spanning from GCN Volcanic Islands through Polaris. Previously, D16 was restricted to GFX9 and newer hardware in the open-source Radeon drivers. D16 is a 16-bit data modifier used with load and store instructions that reduces memory bandwidth pressure and improves register efficiency by packing values into 16-bit formats rather than 32-bit.

The change affects both the RadeonSI OpenGL and RADV Vulkan drivers through the ACO compiler backend. This is particularly relevant for GFX8 hardware running Direct3D 12 content via VKD3D-Proton, as these GPUs already support FP16 and can now benefit from the additional bandwidth and register optimizations that D16 provides.

What changes in Mesa 27.0 for GFX8 D16

  • ACO compiler backend: D16 support is wired through the ACO compiler, which generates the machine code for both RadeonSI and RADV drivers on GFX8 hardware.
  • Memory bandwidth reduction: D16 allows load and store instructions to use packed 16-bit values instead of 32-bit, cutting memory traffic for applicable data types.
  • Register efficiency: The packed 16-bit format improves register utilization by halving the footprint of qualifying values compared to full 32-bit storage.
  • VKD3D-Proton relevance: GFX8 hardware already enables FP16 for all Direct3D 12 content running through VKD3D-Proton, making D16 a complementary optimization for this translation layer.
  • Patch scope: The implementation required 17 patches to extend D16 from the existing GFX9+ support back to the older GFX8 architecture generation.

Why it matters

This change extends the useful lifespan of widely deployed Polaris and earlier GCN hardware on Linux, particularly for Steam Play and Proton gaming where VKD3D-Proton translates modern Direct3D 12 titles. For distributions shipping Mesa 27.0 and for SteamOS users on older AMD GPUs, the improvement means better performance in bandwidth-sensitive scenarios without requiring hardware upgrades.

Original reference: www.phoronix.com →