Vulkan 1.3.240 Brings New Extension To Help With DirectX Ray-Tracing Compatibility

Written by Michael Larabel in Vulkan on 26 January 2023 at 06:41 AM EST. Add A Comment
VULKAN
Following the month-long Christmas break, the Vulkan API working group is back to carrying out weekly(-ish) updates to the Vulkan specification. Out this morning is Vulkan 1.3.240 that brings one new extension in addition to a number of clarifications and corrections to the document.

Vulkan 1.3.240 has a handful of fixes but making this week's spec update more notable is the new extension: VK_EXT_pipeline_library_group_handles. The VK_EXT_pipeline_library_group_handles extension to improve pipeline libraries usage was spearheaded by Valve's Hans-Kristian Arntzen, who is known for his work on VKD3D-Proton, as well as engineers from AMD, Igalia, Intel, and NVIDIA.

The key takeaway for end-users/gamers with the new VK_EXT_pipeline_library_group_handles extension is that it's useful for enhancing the DirectX Ray-Tracing (DXR) compatibility such as by VKD3D-Proton for supporting DXR games over Vulkan. The new extension can also be useful for Vulkan ray-tracing implementations in general. The VK_EXT_pipeline_library_group_handles specification summarizes the extension as:
"When using pipeline libraries in ray tracing pipelines, a library might get linked into different pipelines in an incremental way. An application can have a strategy where a ray tracing pipeline is comprised of N pipeline libraries and is later augmented by creating a new pipeline with N + 1 libraries. Without this extension, all group handles must be re-queried as the group handle is tied to the pipeline, not the library. This is problematic for applications which aim to decouple construction of record buffers and the linkage of ray tracing pipelines.

To aid in this, this extension enables support for querying group handles directly from pipeline libraries. Group handles obtained from a library must: remain bitwise identical in any sname:VkPipeline that links to the library.

With this feature, the extension also improves compatibility with DXR 1.1 AddToStateObject(), which guarantees that group handles returned remain bitwise identical between parent and child pipelines. In addition, querying group handles from COLLECTION objects is also supported with that API."

Thus in short order we'll likely find VKD3D-Proton beginning to optionally make use of the VK_EXT_pipeline_library_group_handles extension.

The latest Vulkan 1.3.240 spec is available from Vulkan.org.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week