Class EXTPipelineLibraryGroupHandles

java.lang.Object
org.lwjgl.vulkan.EXTPipelineLibraryGroupHandles

public final class EXTPipelineLibraryGroupHandles extends Object
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.

Name String
VK_EXT_pipeline_library_group_handles
Extension Type
Device extension
Registered Extension Number
499
Revision
1
Extension and Version Dependencies
VK_KHR_ray_tracing_pipeline and VK_KHR_pipeline_library
Contact
Extension Proposal
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
  • Field Details

    • VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_SPEC_VERSION

      public static final int VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_SPEC_VERSION
      The extension specification version.
      See Also:
    • VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_EXTENSION_NAME

      public static final String VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_EXTENSION_NAME
      The extension name.
      See Also:
    • VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT

      public static final int VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_LIBRARY_GROUP_HANDLES_FEATURES_EXT
      Extends VkStructureType.
      See Also: