To copy data from a buffer object to an image object, call:
// Provided by VK_VERSION_1_0 void vkCmdCopyBufferToImage( VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkBufferImageCopy* pRegions);
commandBufferis the command buffer into which the command will be recorded.
srcBufferis the source buffer.
dstImageis the destination image.
dstImageLayoutis the layout of the destination image subresources for the copy.
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
buffer to the destination region of the destination image according to the
addressing calculations for each
If any of the specified regions in
srcBuffer overlaps in memory with
any of the specified regions in
dstImage, values read from those
overlapping regions are undefined.
If any region accesses a depth aspect in
VK_EXT_depth_range_unrestricted extension is not enabled,
values copied from
srcBuffer outside of the range [0,1] will be
be written as undefined values to the destination image.
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.