// Copyright 2019-2021 The Khronos Group Inc.
//
// SPDX-License-Identifier: CC-BY-4.0

// Common Valid Usage
// Common to acceleration structure copy commands
  * [[VUID-{refpage}-mode-03410]]
    pname:mode must: be
    ename:VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR or
    ename:VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR
  * [[VUID-{refpage}-src-04963]]
    The source acceleration structure pname:src must: have been constructed
    prior to the execution of this command
  * [[VUID-{refpage}-src-03411]]
    If pname:mode is ename:VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR,
    pname:src must: have been constructed with
    ename:VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR in the
    build
  * [[VUID-{refpage}-buffer-03718]]
    The pname:buffer used to create pname:src must: be bound to device
    memory
  * [[VUID-{refpage}-buffer-03719]]
    The pname:buffer used to create pname:dst must: be bound to device
    memory
// Common Valid Usage
