Valve has updated VKD3D-Proton, the component that translates Direct3D 12 to Vulkan for Steam Play, adding support for VK_EXT_descriptor_heap. This extension, available since Vulkan 1.4.340, allows direct control of descriptor memory, improving portability and offering more stable performance in games that use Direct3D 12.
How the VK_EXT_descriptor_heap extension works 🛠️
The extension replaces automatic descriptor management with explicit management, where the developer allocates and frees memory for graphics resources. This avoids bottlenecks in drivers like NVIDIA's, where dynamic allocation caused performance drops in demanding titles. By delegating control to the user, driver calls are reduced and more predictable performance is achieved, especially in scenarios with many objects or textures.
The day descriptors stopped being a mystery 🎲
Until now, drivers handled descriptors like a sock lost in the washing machine: they showed up whenever they wanted and sometimes got stuck. With this extension, developers can say I control this and NVIDIA drivers stop juggling. It's like going from a game of chance to an instruction manual, although surely some programmer is already missing the thrill of chaos.