Contact
-
Daniel Koch dgkoch
Other Extension Metadata
- Last Modified Date
-
2022-02-21
- Interactions and External Dependencies
-
-
This extension requires
SPV_KHR_ray_cull_mask
-
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_mask
SPIR-V extension in Vulkan. This extension provides access to built-inCullMaskKHR
shader variable which contains the value of theOpTrace*
Cull Mask
parameter. 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_KHR
to specify execution of acceleration structure copy commands -
VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR
to 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_KHR
to query the acceleration structure size on the device timeline -
VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR
to 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
rayTracingPipelineTraceRaysIndirect2
feature 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.