1// Copyright 2020-2023 The Khronos Group Inc.
2//
3// SPDX-License-Identifier: CC-BY-4.0
4
5// Common Valid Usage
6// Common to VkCmdCopyBuffer* commands
7  * [[VUID-{refpage}-srcOffset-00113]]
8    The pname:srcOffset member of each element of pname:pRegions must: be
9    less than the size of pname:srcBuffer
10  * [[VUID-{refpage}-dstOffset-00114]]
11    The pname:dstOffset member of each element of pname:pRegions must: be
12    less than the size of pname:dstBuffer
13  * [[VUID-{refpage}-size-00115]]
14    The pname:size member of each element of pname:pRegions must: be less
15    than or equal to the size of pname:srcBuffer minus pname:srcOffset
16  * [[VUID-{refpage}-size-00116]]
17    The pname:size member of each element of pname:pRegions must: be less
18    than or equal to the size of pname:dstBuffer minus pname:dstOffset
19  * [[VUID-{refpage}-pRegions-00117]]
20    The union of the source regions, and the union of the destination
21    regions, specified by the elements of pname:pRegions, must: not overlap
22    in memory
23  * [[VUID-{refpage}-srcBuffer-00118]]
24    pname:srcBuffer must: have been created with
25    ename:VK_BUFFER_USAGE_TRANSFER_SRC_BIT usage flag
26  * [[VUID-{refpage}-srcBuffer-00119]]
27    If pname:srcBuffer is non-sparse then it must: be bound completely and
28    contiguously to a single sname:VkDeviceMemory object
29  * [[VUID-{refpage}-dstBuffer-00120]]
30    pname:dstBuffer must: have been created with
31    ename:VK_BUFFER_USAGE_TRANSFER_DST_BIT usage flag
32  * [[VUID-{refpage}-dstBuffer-00121]]
33    If pname:dstBuffer is non-sparse then it must: be bound completely and
34    contiguously to a single sname:VkDeviceMemory object
35// Common Valid Usage
36