VkCopyBufferInfo2
The VkCopyBufferInfo2
structure is defined as:
typedef struct VkCopyBufferInfo2 {
VkStructureType sType;
const void* pNext;
VkBuffer srcBuffer;
VkBuffer dstBuffer;
uint32_t regionCount;
const VkBufferCopy2* pRegions;
} VkCopyBufferInfo2;
or the equivalent
typedef VkCopyBufferInfo2 VkCopyBufferInfo2KHR;
sType
is a VkStructureType value identifying this structure.pNext
isNULL
or a pointer to a structure extending this structure.srcBuffer
is the source buffer.dstBuffer
is the destination buffer.regionCount
is the number of regions to copy.pRegions
is a pointer to an array of VkBufferCopy2 structures specifying the regions to copy.
Valid Usage
VUID-VkCopyBufferInfo2-srcOffset-00113
The srcOffset
member of each element of pRegions
must be
less than the size of srcBuffer
VUID-VkCopyBufferInfo2-dstOffset-00114
The dstOffset
member of each element of pRegions
must be
less than the size of dstBuffer
VUID-VkCopyBufferInfo2-size-00115
The size
member of each element of pRegions
must be less
than or equal to the size of srcBuffer
minus srcOffset
VUID-VkCopyBufferInfo2-size-00116
The size
member of each element of pRegions
must be less
than or equal to the size of dstBuffer
minus dstOffset
VUID-VkCopyBufferInfo2-pRegions-00117
The union of the source regions, and the union of the destination
regions, specified by the elements of pRegions
, must not overlap
in memory
VUID-VkCopyBufferInfo2-srcBuffer-00118
srcBuffer
must have been created with
VK_BUFFER_USAGE_TRANSFER_SRC_BIT
usage flag
VUID-VkCopyBufferInfo2-srcBuffer-00119
If srcBuffer
is non-sparse then it must be bound completely and
contiguously to a single VkDeviceMemory
object
VUID-VkCopyBufferInfo2-dstBuffer-00120
dstBuffer
must have been created with
VK_BUFFER_USAGE_TRANSFER_DST_BIT
usage flag
VUID-VkCopyBufferInfo2-dstBuffer-00121
If dstBuffer
is non-sparse then it must be bound completely and
contiguously to a single VkDeviceMemory
object
Valid Usage (Implicit)
VUID-VkCopyBufferInfo2-sType-sType
sType
must be VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2
VUID-VkCopyBufferInfo2-pNext-pNext
pNext
must be NULL
VUID-VkCopyBufferInfo2-srcBuffer-parameter
srcBuffer
must be a valid VkBuffer handle
VUID-VkCopyBufferInfo2-dstBuffer-parameter
dstBuffer
must be a valid VkBuffer handle
VUID-VkCopyBufferInfo2-pRegions-parameter
pRegions
must be a valid pointer to an array of regionCount
valid VkBufferCopy2 structures
VUID-VkCopyBufferInfo2-regionCount-arraylength
regionCount
must be greater than 0
VUID-VkCopyBufferInfo2-commonparent
Both of dstBuffer
, and srcBuffer
must have been created, allocated, or retrieved from the same VkDevice