Color and depth/stencil images can be cleared outside a render pass
instance using vkCmdClearColorImage
or
vkCmdClearDepthStencilImage
, respectively.
These commands are only allowed outside of a render pass instance.
To clear one or more subranges of a color image, call:
void vkCmdClearColorImage( VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges);
commandBuffer
is the command buffer into which the command will be
recorded.
image
is the image to be cleared.
imageLayout
specifies the current layout of the image subresource
ranges to be cleared, and must be VK_IMAGE_LAYOUT_GENERAL
or
VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL
.
pColor
is a pointer to a VkClearColorValue
structure that
contains the values the image subresource ranges will be cleared to (see
Section 17.3, “Clear Values” below).
rangeCount
is the number of image subresource range structures in
pRanges
.
pRanges
points to an array of VkImageSubresourceRange
structures that describe a range of mipmap levels, array layers, and
aspects to be cleared, as described in Image Views.
The aspectMask
of all image subresource ranges must only include
VK_IMAGE_ASPECT_COLOR_BIT
.
Each specified range in pRanges
is cleared to the value specified by
pColor
.
To clear one or more subranges of a depth/stencil image, call:
void vkCmdClearDepthStencilImage( VkCommandBuffer commandBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges);
commandBuffer
is the command buffer into which the command will be
recorded.
image
is the image to be cleared.
imageLayout
specifies the current layout of the image subresource
ranges to be cleared, and must be VK_IMAGE_LAYOUT_GENERAL
or
VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL
.
pDepthStencil
is a pointer to a VkClearDepthStencilValue
structure that contains the values the depth and stencil image
subresource ranges will be cleared to (see Section 17.3, “Clear Values” below).
rangeCount
is the number of image subresource range structures in
pRanges
.
pRanges
points to an array of VkImageSubresourceRange
structures that describe a range of mipmap levels, array layers, and
aspects to be cleared, as described in Image Views.
The aspectMask
of each image subresource range in pRanges
can include VK_IMAGE_ASPECT_DEPTH_BIT
if the image format has a
depth component, and VK_IMAGE_ASPECT_STENCIL_BIT
if the image
format has a stencil component.
pDepthStencil
is a pointer to a VkClearDepthStencilValue
structure that contains the values the image subresource ranges will be
cleared to (see Section 17.3, “Clear Values” below).
Clears outside render pass instances are treated as transfer operations for the purposes of memory barriers.