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