• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright 2021-2024 The Khronos Group Inc.
2//
3// SPDX-License-Identifier: CC-BY-4.0
4
5include::{generated}/meta/{refprefix}VK_KHR_ray_tracing_maintenance1.adoc[]
6
7=== Other Extension Metadata
8
9*Last Modified Date*::
10    2022-02-21
11*Interactions and External Dependencies*::
12  - This extension provides API support for
13    {GLSLregistry}/ext/GLSL_EXT_ray_cull_mask.txt[`GLSL_EXT_ray_cull_mask`]
14  - Interacts with `apiext:VK_KHR_ray_tracing_pipeline`
15  - Interacts with `apiext:VK_KHR_synchronization2`
16*Contributors*::
17  - Stu Smith, AMD
18  - Tobias Hector, AMD
19  - Marius Bjorge, Arm
20  - Tom Olson, Arm
21  - Yuriy O’Donnell, Epic Games
22  - Yunpeng Zhu, Huawei
23  - Andrew Garrard, Imagination
24  - Dae Kim, Imagination
25  - Joshua Barczak, Intel
26  - Lionel Landwerlin, Intel
27  - Daniel Koch, NVIDIA
28  - Eric Werness, NVIDIA
29  - Spencer Fricke, Samsung
30
31=== Description
32
33`VK_KHR_ray_tracing_maintenance1` adds a collection of minor ray tracing
34features, none of which would warrant an entire extension of their own.
35
36The new features are as follows:
37
38  * Adds support for the `SPV_KHR_ray_cull_mask` SPIR-V extension in Vulkan.
39    This extension provides access to built-in code:CullMaskKHR shader
40    variable which contains the value of the code:OpTrace* `Cull Mask`
41    parameter.
42    This new shader variable is accessible in the intersection, any-hit,
43    closest-hit and miss shader stages.
44  * Adds support for a new pipeline stage and access mask built on top of
45    `apiext:VK_KHR_synchronization2`:
46  ** ename:VK_PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_COPY_BIT_KHR to
47     specify execution of <<acceleration-structure-copying, acceleration
48     structure copy commands>>
49  ** ename:VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR to specify read
50     access to a <<shader-binding-table, shader binding table>> in any
51     shader pipeline stage
52  * Adds two new acceleration structure query parameters:
53  ** ename:VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SIZE_KHR to query the
54     acceleration structure size on the device timeline
55  ** ename:VK_QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_BOTTOM_LEVEL_POINTERS_KHR
56     to query the number of bottom level acceleration structure pointers for
57     serialization
58  * Adds an optional new indirect ray tracing dispatch command,
59    flink:vkCmdTraceRaysIndirect2KHR, which sources the shader binding table
60    parameters as well as the dispatch dimensions from the device.
61    The <<features-rayTracingPipelineTraceRaysIndirect2,
62    pname:rayTracingPipelineTraceRaysIndirect2>> feature indicates whether
63    this functionality is supported.
64
65
66include::{generated}/interfaces/VK_KHR_ray_tracing_maintenance1.adoc[]
67
68=== New Built-In Variables
69
70  * <<interfaces-builtin-variables-cullmask,code:CullMaskKHR>>
71
72=== New SPIR-V Capabilities
73
74  * <<spirvenv-capabilities-table-RayCullMaskKHR, code:RayCullMaskKHR>>
75
76=== Issues
77
78None Yet!
79
80=== Version History
81
82  * Revision 1, 2022-02-21 (Members of the Vulkan Ray Tracing TSG)
83  ** internal revisions
84