VKD3D-Proton Merges Vulkan Descriptor Heap Support
([Valve] 5 Hours Ago
VKD3D-Proton + Descriptor Heaps)
- Reference: 0001636269
- News link: https://www.phoronix.com/news/VKD3D-Proton-Descriptor-Heaps
- Source link:
Valve's VKD3D-Proton component to Steam Play (Proton) for Direct3D 12 implemented over the Vulkan API has landed its descriptor heap (VK_EXT_descriptor_heap) support as a big step forward.
VK_EXT_descriptor_heap was introduced back in January with [1]Vulkan 1.4.340 . The descriptor heap extension allows for explicit management of descriptors and memory used to store descriptors (descriptor heaps). VK_EXT_descriptor_heap addresses issues uncovered with VK_EXT_descriptor_buffer and should provide more portable guarantees and more predictable performance characteristics. VK_EXT_descriptor_heap should be of big help to Steam Play (VKD3D-Proton usage) and also for addressing issues in different Vulkan drivers like from NVIDIA around their Proton gaming performance.
Since then [2]NVIDIA began shipping descriptor heap support and [3]RADV also merged descriptor heaps in Mesa 26.1 . Earlier this month [4]the Intel ANV driver landed experimental heap support .
Back in April was [5]this VKD3D-Proton pull request for implementing descriptor heap support. Hans-Kristian Arntzen explained there:
"Massive behemoth rewrite that is shippable. The full PR is here for testing purposes, but the actual landing will happen in half a million stages.
Hidden behind VKD3D_CONFIG=descriptor_heap since there are still several NVIDIA bugs left to resolve before this can be considered shippable as a default.
Compared to the previous PoC, this PR does not remove legacy code paths (hnnnnnnng), but the idea is that those old paths will eventually be removed once heap is solid everywhere and we can sunset support for ancient GPUs."
As of today the code has been merged with Arntzen [6]commenting :
The next major Steam Play (Proton) update in turn should be quite exciting.
[1] https://www.phoronix.com/news/Vulkan-1.4.340-Descriptor-Heap
[2] https://www.phoronix.com/news/NVIDIA-595.44.02-Linux-Vulkan
[3] https://www.phoronix.com/news/RADV-Merges-Descriptor-Heap
[4] https://www.phoronix.com/news/Intel-ANV-Descriptor-Heap-Merge
[5] https://github.com/HansKristian-Work/vkd3d-proton/pull/2943
[6] https://github.com/HansKristian-Work/vkd3d-proton/pull/2943#issuecomment-4553619609
VK_EXT_descriptor_heap was introduced back in January with [1]Vulkan 1.4.340 . The descriptor heap extension allows for explicit management of descriptors and memory used to store descriptors (descriptor heaps). VK_EXT_descriptor_heap addresses issues uncovered with VK_EXT_descriptor_buffer and should provide more portable guarantees and more predictable performance characteristics. VK_EXT_descriptor_heap should be of big help to Steam Play (VKD3D-Proton usage) and also for addressing issues in different Vulkan drivers like from NVIDIA around their Proton gaming performance.
Since then [2]NVIDIA began shipping descriptor heap support and [3]RADV also merged descriptor heaps in Mesa 26.1 . Earlier this month [4]the Intel ANV driver landed experimental heap support .
Back in April was [5]this VKD3D-Proton pull request for implementing descriptor heap support. Hans-Kristian Arntzen explained there:
"Massive behemoth rewrite that is shippable. The full PR is here for testing purposes, but the actual landing will happen in half a million stages.
Hidden behind VKD3D_CONFIG=descriptor_heap since there are still several NVIDIA bugs left to resolve before this can be considered shippable as a default.
Compared to the previous PoC, this PR does not remove legacy code paths (hnnnnnnng), but the idea is that those old paths will eventually be removed once heap is solid everywhere and we can sunset support for ancient GPUs."
As of today the code has been merged with Arntzen [6]commenting :
The next major Steam Play (Proton) update in turn should be quite exciting.
[1] https://www.phoronix.com/news/Vulkan-1.4.340-Descriptor-Heap
[2] https://www.phoronix.com/news/NVIDIA-595.44.02-Linux-Vulkan
[3] https://www.phoronix.com/news/RADV-Merges-Descriptor-Heap
[4] https://www.phoronix.com/news/Intel-ANV-Descriptor-Heap-Merge
[5] https://github.com/HansKristian-Work/vkd3d-proton/pull/2943
[6] https://github.com/HansKristian-Work/vkd3d-proton/pull/2943#issuecomment-4553619609