To resolve a multisample image to a non-multisample image, call:
void vkCmdResolveImage( VkCommandBuffer commandBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const VkImageResolve* 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 resolve.
dstImageis the destination image.
dstImageLayoutis the layout of the destination image subresources for the resolve.
regionCountis the number of regions to resolve.
pRegionsis a pointer to an array of VkImageResolve structures specifying the regions to resolve.
During the resolve the samples corresponding to each pixel location in the source are converted to a single sample before being written to the destination. If the source formats are floating-point or normalized types, the sample values for each pixel are resolved in an implementation-dependent manner. If the source formats are integer types, a single sample’s value is selected for each pixel.
dstOffset select the initial
z offsets in texels of the sub-regions of the source and destination
extent is the size in texels of the source image to resolve in
Resolves are done layer by layer starting with
srcSubresource for the source and
dstSubresource for the
layerCount layers are resolved to the destination 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.
Copyright (c) 2014-2020 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.