To copy data from an image object to a buffer object, call:
// Provided by VK_VERSION_1_0 void vkCmdCopyImageToBuffer( VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions);
commandBufferis the command buffer into which the command will be recorded.
srcImageis the source image.
srcImageLayoutis the layout of the source image subresources for the copy.
dstBufferis the destination buffer.
regionCountis the number of regions to copy.
pRegionsis a pointer to an array of VkBufferImageCopy structures specifying the regions to copy.
Each source region specified by
pRegions is copied from the source
image to the destination region of the destination buffer according to the
addressing calculations for each
If any of the specified regions in
srcImage overlaps in memory with
any of the specified regions in
dstBuffer, values read from those
overlapping regions are undefined.
Copy regions for the image must be aligned to a multiple of the texel block extent in each dimension, except at the edges of the image, where region extents must match the edge of the image.
For more information, see the Vulkan Specification
This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.