VK_EXT_pipeline_library_group_handles
Other Extension Metadata
Last Modified Date
2023-01-25
IP Status
No known IP claims.
Contributors
- Hans-Kristian Arntzen, Valve
- Stuart Smith, AMD
- Ricardo Garcia, Igalia
- Lionel Landwerlin, Intel
- Eric Werness, NVIDIA
- Daniel Koch, NVIDIA
Description
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
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.
New Structures
- Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo:
New Enum Constants
VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_EXTENSION_NAME
VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_SPEC_VERSION
- Extending VkStructureType:
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT
Version History
- Revision 1, 2023-01-25 (Hans-Kristian Arntzen)
- Initial draft