| // Copyright 2020-2021 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 |