Contact
-
Daniel Koch dgkoch
Other Extension Metadata
- Last Modified Date
-
2022-02-21
- Interactions and External Dependencies
-
-
This extension provides API support for
GLSL_EXT_ray_cull_mask -
Interacts with
VK_KHR_ray_tracing_pipeline -
Interacts with
VK_KHR_synchronization2
-
- Contributors
-
-
Stu Smith, AMD
-
Tobias Hector, AMD
-
Marius Bjorge, Arm
-
Tom Olson, Arm
-
Yuriy O’Donnell, Epic Games
-
Yunpeng Zhu, Huawei
-
Andrew Garrard, Imagination
-
Dae Kim, Imagination
-
Joshua Barczak, Intel
-
Lionel Landwerlin, Intel
-
Daniel Koch, NVIDIA
-
Eric Werness, NVIDIA
-
Spencer Fricke, Samsung
-
Description
VK_KHR_ray_tracing_maintenance1 adds a collection of minor ray tracing
features, none of which would warrant an entire extension of their own.
The new features are as follows:
-
Adds support for the
SPV_KHR_ray_cull_maskSPIR-V extension in Vulkan. This extension provides access to built-inCullMaskKHRshader variable which contains the value of theOpTrace*Cull Maskparameter. This new shader variable is accessible in the intersection, any-hit, closest-hit and miss shader stages. -
Adds support for a new pipeline stage and access mask built on top of
VK_KHR_synchronization2:-
VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHRto specify execution of acceleration structure copy commands -
VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHRto specify read access to a shader binding table in any shader pipeline stage
-
-
Adds two new acceleration structure query parameters:
-
VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SIZE_KHRto query the acceleration structure size on the device timeline -
VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHRto query the number of bottom level acceleration structure pointers for serialization
-
-
Adds an optional new indirect ray tracing dispatch command, vkCmdTraceRaysIndirect2KHR, which sources the shader binding table parameters as well as the dispatch dimensions from the device. The
rayTracingPipelineTraceRaysIndirect2feature indicates whether this functionality is supported.
New Commands
If VK_KHR_ray_tracing_pipeline is supported:
New Enum Constants
-
VK_KHR_RAY_TRACING_MAINTENANCE_1_EXTENSION_NAME -
VK_KHR_RAY_TRACING_MAINTENANCE_1_SPEC_VERSION -
Extending VkQueryType:
-
VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR -
VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SIZE_KHR
-
-
Extending VkStructureType:
-
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MAINTENANCE_1_FEATURES_KHR
-
If VK_KHR_synchronization2 is supported:
-
Extending VkPipelineStageFlagBits2:
-
VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR
-
If VK_KHR_synchronization2 and VK_KHR_ray_tracing_pipeline is supported:
-
Extending VkAccessFlagBits2:
-
VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR
-
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.