As a big helper for Valve’s Steam Play with DXVK and VKD3D-Proton, the Mesa Radeon Vulkan driver “RADV” has merged its initial support for the VK_EXT_descriptor_heap Vulkan extension.
Samuel Pitoiset of Valve’s Linux graphics team and prolific RADV driver contributor authored the VK_EXT_descriptor_heap support for RADV. After being under review the past two months, it’s finally been merged for Mesa 26.1.
VK_EXT_descriptor_heap was introduced in January back with Vulkan 1.4.340 for this extension worked on by Valve, NVIDIA, AMD, Google, and others. VK_EXT_descriptor_heap allows for explicit management of descriptors and the memory used to store descriptors (descriptor heaps). This addresses issues uncovered with VK_EXT_descriptor_buffer and should provide more portable guarantees and more predictable performance characteristics.
NVIDIA added descriptor heap support in their R595 Linux driver while now AMD Radeon is ready with support for the upcoming Mesa 26.1 release. But at the moment it’s not enabled by default. Pitoiset noted in the merge request:
“It’s not yet enabled by default because it’s quite a big extension and I expect bugs because test coverage isn’t very good. It will be enabled by default in one or two Mesa releases when it’s more stable.”
With Mesa 26.1-devel as of today, the descriptor heap support can be enabled using the RADV_EXPERIMENTAL=heap environment variable.
DXVK merged its VK_EXT_descriptor_heap usage back in February with the hope of fixing small performance regressions. VKD3D-Proton has a draft pull request for descriptor heap usage. RADV’s support has been tested both against the DXVK and VKD3D-Proton code.
More details on the RADV descriptor heap support via this merge.
