1// Copyright 2019-2024 The Khronos Group Inc. 2// 3// SPDX-License-Identifier: CC-BY-4.0 4 5// Common Valid Usage 6// Common to acceleration structure copy commands 7 * [[VUID-{refpage}-mode-03410]] 8 pname:mode must: be 9 ename:VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR or 10 ename:VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR 11 * [[VUID-{refpage}-src-04963]] 12 The source acceleration structure pname:src must: have been constructed 13 prior to the execution of this command 14 * [[VUID-{refpage}-src-03411]] 15 If pname:mode is ename:VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR, 16 pname:src must: have been constructed with 17 ename:VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR in the 18 build 19 * [[VUID-{refpage}-buffer-03718]] 20 The pname:buffer used to create pname:src must: be bound to device 21 memory 22 * [[VUID-{refpage}-buffer-03719]] 23 The pname:buffer used to create pname:dst must: be bound to device 24 memory 25 * [[VUID-{refpage}-dst-07791]] 26 The range of memory backing pname:dst that is accessed by this command 27 must: not overlap the memory backing pname:src that is accessed by this 28 command 29 * [[VUID-{refpage}-dst-07792]] 30 pname:dst must: be bound completely and contiguously to a single 31 sname:VkDeviceMemory object via 32 flink:vkBindAccelerationStructureMemoryNV 33// Common Valid Usage 34