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

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