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