// Copyright 2020-2023 The Khronos Group Inc.
//
// SPDX-License-Identifier: CC-BY-4.0

// Common Valid Usage
// Common to VkCmdCopyBuffer* commands
  * [[VUID-{refpage}-srcOffset-00113]]
    The pname:srcOffset member of each element of pname:pRegions must: be
    less than the size of pname:srcBuffer
  * [[VUID-{refpage}-dstOffset-00114]]
    The pname:dstOffset member of each element of pname:pRegions must: be
    less than the size of pname:dstBuffer
  * [[VUID-{refpage}-size-00115]]
    The pname:size member of each element of pname:pRegions must: be less
    than or equal to the size of pname:srcBuffer minus pname:srcOffset
  * [[VUID-{refpage}-size-00116]]
    The pname:size member of each element of pname:pRegions must: be less
    than or equal to the size of pname:dstBuffer minus pname:dstOffset
  * [[VUID-{refpage}-pRegions-00117]]
    The union of the source regions, and the union of the destination
    regions, specified by the elements of pname:pRegions, must: not overlap
    in memory
  * [[VUID-{refpage}-srcBuffer-00118]]
    pname:srcBuffer must: have been created with
    ename:VK_BUFFER_USAGE_TRANSFER_SRC_BIT usage flag
  * [[VUID-{refpage}-srcBuffer-00119]]
    If pname:srcBuffer is non-sparse then it must: be bound completely and
    contiguously to a single sname:VkDeviceMemory object
  * [[VUID-{refpage}-dstBuffer-00120]]
    pname:dstBuffer must: have been created with
    ename:VK_BUFFER_USAGE_TRANSFER_DST_BIT usage flag
  * [[VUID-{refpage}-dstBuffer-00121]]
    If pname:dstBuffer is non-sparse then it must: be bound completely and
    contiguously to a single sname:VkDeviceMemory object
// Common Valid Usage
