vkCmdCopyBuffer2
To copy data between buffer objects, call:
void vkCmdCopyBuffer2(
VkCommandBuffer commandBuffer,
const VkCopyBufferInfo2* pCopyBufferInfo);
pub fn cmd_copy_buffer2(
command_buffer: vk::CommandBuffer,
p_copy_buffer_info: *const vk::CopyBufferInfo2,
);
void vkCmdCopyBuffer2KHR(
VkCommandBuffer commandBuffer,
const VkCopyBufferInfo2* pCopyBufferInfo);
pub fn cmd_copy_buffer2_khr(
command_buffer: vk::CommandBuffer,
p_copy_buffer_info: *const vk::CopyBufferInfo2,
);
commandBufferis the command buffer into which the command will be recorded.pCopyBufferInfois 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
VUID-vkCmdCopyBuffer2-commandBuffer-01822
If commandBuffer is an unprotected command buffer and
protectedNoFault is not supported,
srcBuffer must not be a protected buffer
VUID-vkCmdCopyBuffer2-commandBuffer-01823
If commandBuffer is an unprotected command buffer and
protectedNoFault is not supported,
dstBuffer must not be a protected buffer
VUID-vkCmdCopyBuffer2-commandBuffer-01824
If commandBuffer is a protected command buffer and
protectedNoFault is not supported,
dstBuffer must not be an unprotected buffer
Valid Usage (Implicit)
VUID-vkCmdCopyBuffer2-commandBuffer-parameter
commandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdCopyBuffer2-pCopyBufferInfo-parameter
pCopyBufferInfo must be a valid pointer to a valid VkCopyBufferInfo2 structure
VUID-vkCmdCopyBuffer2-commandBuffer-recording
commandBuffer must be in the recording state
VUID-vkCmdCopyBuffer2-commandBuffer-cmdpool
The VkCommandPool that commandBuffer was allocated from must support VK_QUEUE_COMPUTE_BIT, VK_QUEUE_GRAPHICS_BIT, or VK_QUEUE_TRANSFER_BIT operations
VUID-vkCmdCopyBuffer2-renderpass
This command must only be called outside of a render pass instance
VUID-vkCmdCopyBuffer2-suspended
This command must not be called between suspended render pass instances
VUID-vkCmdCopyBuffer2-videocoding
This command must only be called outside of a video coding scope
Host Synchronization
- Host access to
commandBuffermust be externally synchronized - Host access to the
VkCommandPoolthatcommandBufferwas allocated from must be externally synchronized