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