vulkan-3.26.1: Bindings to the Vulkan graphics API.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Vulkan.Extensions.VK_EXT_pipeline_library_group_handles

Description

Name

VK_EXT_pipeline_library_group_handles - device extension

VK_EXT_pipeline_library_group_handles

Name String
VK_EXT_pipeline_library_group_handles
Extension Type
Device extension
Registered Extension Number
499
Revision
1
Ratification Status
Not ratified
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

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 augumented 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 Pipeline 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

Version History

  • Revision 1, 2023-01-25 (Hans-Kristian Arntzen)

    • Initial draft

See Also

PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT

Document Notes

For more information, see the Vulkan Specification

This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.

Synopsis

Documentation

data PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT Source #

VkPhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT - Structure describing whether querying shader group handles from a pipeline library is supported by the implementation

Members

This structure describes the following features:

Description

If the PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT structure is included in the pNext chain of the PhysicalDeviceFeatures2 structure passed to getPhysicalDeviceFeatures2, it is filled in to indicate whether each corresponding feature is supported. PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT can also be used in the pNext chain of DeviceCreateInfo to selectively enable these features.

Valid Usage (Implicit)

See Also

VK_EXT_pipeline_library_group_handles, Bool32, StructureType

Constructors

PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT 

Fields

  • pipelineLibraryGroupHandles :: Bool

    pipelineLibraryGroupHandles indicates whether the implementation supports querying group handles directly from a ray tracing pipeline library, and guarantees bitwise identical group handles for such libraries when linked into other pipelines.

Instances

Instances details
Storable PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_pipeline_library_group_handles

Show PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_pipeline_library_group_handles

Eq PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_pipeline_library_group_handles

FromCStruct PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_pipeline_library_group_handles

ToCStruct PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_pipeline_library_group_handles

Zero PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT Source # 
Instance details

Defined in Vulkan.Extensions.VK_EXT_pipeline_library_group_handles

type EXT_PIPELINE_LIBRARY_GROUP_HANDLES_EXTENSION_NAME = "VK_EXT_pipeline_library_group_handles" Source #