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