Show Your Support: This site is primarily supported by advertisements. Ads are what have allowed this site to be maintained on a daily basis for the past 18+ years. We do our best to ensure only clean, relevant ads are shown, when any nasty ads are detected, we work to remove them ASAP. If you would like to view the site without ads while still supporting our work, please consider our ad-free Phoronix Premium.
Vulkan 1.3.240 Brings New Extension To Help With DirectX Ray-Tracing Compatibility
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.