vkCmdCopyBufferToImage2
To copy data from a buffer object to an image object, call:
void vkCmdCopyBufferToImage2KHR(
VkCommandBuffer commandBuffer,
const VkCopyBufferToImageInfo2* pCopyBufferToImageInfo);
commandBufferis the command buffer into which the command will be recorded.pCopyBufferToImageInfois a pointer to a VkCopyBufferToImageInfo2 structure describing the copy parameters.
This command is functionally identical to vkCmdCopyBufferToImage, but
includes extensible sub-structures that include sType and pNext
parameters, allowing them to be more easily extended.
Valid Usage
VUID-vkCmdCopyBufferToImage2-commandBuffer-07737
If the queue family used to create the VkCommandPool which
commandBuffer was allocated from does not support
VK_QUEUE_GRAPHICS_BIT or VK_QUEUE_COMPUTE_BIT, the
bufferOffset member of any element of pCopyBufferToImageInfo→pRegions must be a
multiple of 4
VUID-vkCmdCopyBufferToImage2-imageOffset-07738
The imageOffset and imageExtent members of each element of
pCopyBufferToImageInfo→pRegions must respect the image transfer granularity requirements
of commandBuffer’s command pool’s queue family, as described in
VkQueueFamilyProperties
VUID-vkCmdCopyBufferToImage2-commandBuffer-07739
If the queue family used to create the VkCommandPool which
commandBuffer was allocated from does not support
VK_QUEUE_GRAPHICS_BIT, for each element of pCopyBufferToImageInfo→pRegions, the
aspectMask member of imageSubresource must not be
VK_IMAGE_ASPECT_DEPTH_BIT or VK_IMAGE_ASPECT_STENCIL_BIT
Valid Usage (Implicit)
VUID-vkCmdCopyBufferToImage2-commandBuffer-parameter
commandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdCopyBufferToImage2-pCopyBufferToImageInfo-parameter
pCopyBufferToImageInfo must be a valid pointer to a valid VkCopyBufferToImageInfo2 structure
VUID-vkCmdCopyBufferToImage2-commandBuffer-recording
commandBuffer must be in the recording state
VUID-vkCmdCopyBufferToImage2-commandBuffer-cmdpool
The VkCommandPool that commandBuffer was allocated from must support transfer, graphics, or compute operations
VUID-vkCmdCopyBufferToImage2-renderpass
This command must only be called outside of a render pass instance
VUID-vkCmdCopyBufferToImage2-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 ::