Function Prototype

vkCmdCopyBuffer2

Copy data between buffer regions

To copy data between buffer objects, call:

void vkCmdCopyBuffer2KHR(
    VkCommandBuffer commandBuffer,
    const VkCopyBufferInfo2* pCopyBufferInfo);
  • commandBuffer is the command buffer into which the command will be recorded.
  • pCopyBufferInfo is a pointer to a VkCopyBufferInfo2 structure describing the copy parameters.

Each source region specified by pCopyBufferInfo→pRegions is copied from the source buffer to the destination region of the destination buffer. If any of the specified regions in pCopyBufferInfo→srcBuffer overlaps in memory with any of the specified regions in pCopyBufferInfo→dstBuffer, values read from those overlapping regions are undefined:.

Valid Usage (Implicit)

VUID-vkCmdCopyBuffer2-pCopyBufferInfo-parameter

pCopyBufferInfo must be a valid pointer to a valid VkCopyBufferInfo2 structure

VUID-vkCmdCopyBuffer2-commandBuffer-cmdpool

The VkCommandPool that commandBuffer was allocated from must support transfer, graphics, or compute operations

VUID-vkCmdCopyBuffer2-renderpass

This command must only be called outside of a render pass instance

VUID-vkCmdCopyBuffer2-videocoding

This command must only be called outside of a video coding scope

Host Synchronization

  • Host access to commandBuffer must be externally synchronized
  • Host access to the VkCommandPool that commandBuffer was allocated from must be externally synchronized ::