To copy data between buffer objects, call:
void vkCmdCopyBuffer( VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy* pRegions);
commandBuffer
is the command buffer into which the command will be
recorded.
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 VkBufferCopy
structures
specifying the regions to copy.
Each region in pRegions
is copied from the source buffer to the same
region of the destination buffer.
srcBuffer
and dstBuffer
can be the same buffer or alias the
same memory, but the result is undefined if the copy regions overlap in
memory.
The VkBufferCopy
structure is defined as:
typedef struct VkBufferCopy { VkDeviceSize srcOffset; VkDeviceSize dstOffset; VkDeviceSize size; } VkBufferCopy;
srcOffset
is the starting offset in bytes from the start of
srcBuffer
.
dstOffset
is the starting offset in bytes from the start of
dstBuffer
.
size
is the number of bytes to copy.