VkRenderingInfo
The VkRenderingInfo
structure is defined as:
typedef struct VkRenderingInfo {
VkStructureType sType;
const void* pNext;
VkRenderingFlags flags;
VkRect2D renderArea;
uint32_t layerCount;
uint32_t viewMask;
uint32_t colorAttachmentCount;
const VkRenderingAttachmentInfo* pColorAttachments;
const VkRenderingAttachmentInfo* pDepthAttachment;
const VkRenderingAttachmentInfo* pStencilAttachment;
} VkRenderingInfo;
or the equivalent
typedef VkRenderingInfo VkRenderingInfoKHR;
sType
is a VkStructureType value identifying this structure.pNext
isNULL
or a pointer to a structure extending this structure.flags
is a bitmask of VkRenderingFlagBits.renderArea
is the render area that is affected by the render pass instance.layerCount
is the number of layers rendered to in each attachment whenviewMask
is0
.viewMask
is the view mask indicating the indices of attachment layers that will be rendered when it is not0
.colorAttachmentCount
is the number of elements inpColorAttachments
.pColorAttachments
is a pointer to an array ofcolorAttachmentCount
VkRenderingAttachmentInfo structures describing any color attachments used.pDepthAttachment
is a pointer to a VkRenderingAttachmentInfo structure describing a depth attachment.pStencilAttachment
is a pointer to a VkRenderingAttachmentInfo structure describing a stencil attachment.
If viewMask
is not 0
, multiview is enabled.
If there is an instance of VkDeviceGroupRenderPassBeginInfo included
in the pNext
chain and its deviceRenderAreaCount
member is not
0
, then renderArea
is ignored, and the render area is defined
per-device by that structure.
If multiview is enabled, and the multiviewPerViewRenderAreas
feature is enabled, and there is an
instance of VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM
included in the pNext
chain with perViewRenderAreaCount
not
equal to 0
, then the elements of
VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM::pPerViewRenderAreas
override renderArea
and define a render area for each view.
In this case, renderArea
must be an area at least as large as the
union of all the per-view render areas.
Each element of the pColorAttachments
array corresponds to an output
location in the shader, i.e. if the shader declares an output variable
decorated with a Location
value of X, then it uses the attachment
provided in pColorAttachments
[X].
If the imageView
member of any element of pColorAttachments
is
VK_NULL_HANDLE,
and resolveMode
is not
VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID
,
writes to the corresponding location by a fragment are discarded.
Valid Usage
VUID-VkRenderingInfo-viewMask-06069
If viewMask
is 0
, layerCount
must not be 0
VUID-VkRenderingInfo-multisampledRenderToSingleSampled-06857
imageView
members of pDepthAttachment
,
pStencilAttachment
, and elements of pColorAttachments
that
are not VK_NULL_HANDLE must have been created with the same
sampleCount
, if none of the following are enabled:- The VK_AMD_mixed_attachment_samples extension
- The VK_NV_framebuffer_mixed_samples extension
- The
multisampledRenderToSingleSampled
feature, ::
VUID-VkRenderingInfo-imageView-09429
imageView
members of elements of pColorAttachments
that are
not VK_NULL_HANDLE must have been created with the same
sampleCount
, if the multisampledRenderToSingleSampled
feature is not enabled
VUID-VkRenderingInfo-None-08994
If VkDeviceGroupRenderPassBeginInfo::deviceRenderAreaCount
is 0,
renderArea.extent.width
must be greater than 0
VUID-VkRenderingInfo-None-08995
If VkDeviceGroupRenderPassBeginInfo::deviceRenderAreaCount
is 0,
renderArea.extent.height
must be greater than 0
VUID-VkRenderingInfo-imageView-06858
If
multisampled-render-to-single-sampled
is enabled, then all attachments referenced by imageView
members
of pDepthAttachment
, pStencilAttachment
, and elements of
pColorAttachments
that are not VK_NULL_HANDLE must have a
sample count that is either VK_SAMPLE_COUNT_1_BIT
or equal to
VkMultisampledRenderToSingleSampledInfoEXT::rasterizationSamples
VUID-VkRenderingInfo-imageView-06859
If
multisampled-render-to-single-sampled
is enabled, then all attachments referenced by imageView
members
of pDepthAttachment
, pStencilAttachment
, and elements of
pColorAttachments
that are not VK_NULL_HANDLE and have a
sample count of VK_SAMPLE_COUNT_1_BIT
must have been created with
VK_IMAGE_CREATE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_BIT_EXT
in
their VkImageCreateInfo::flags
VUID-VkRenderingInfo-pNext-06077
If the pNext
chain does not contain
VkDeviceGroupRenderPassBeginInfo or its
deviceRenderAreaCount
member is equal to 0,
renderArea.offset.x
must be greater than or equal to 0
VUID-VkRenderingInfo-pNext-06078
If the pNext
chain does not contain
VkDeviceGroupRenderPassBeginInfo or its
deviceRenderAreaCount
member is equal to 0,
renderArea.offset.y
must be greater than or equal to 0
VUID-VkRenderingInfo-pNext-07815
If the pNext
chain does not contain
VkDeviceGroupRenderPassBeginInfo or its
deviceRenderAreaCount
member is equal to 0,
the sum of renderArea.extent.width
and renderArea.offset.x
must be less than or equal to
maxFramebufferWidth
VUID-VkRenderingInfo-pNext-07816
If the pNext
chain does not contain
VkDeviceGroupRenderPassBeginInfo or its
deviceRenderAreaCount
member is equal to 0,
the sum of renderArea.extent.height
and renderArea.offset.y
must be less than or equal to
maxFramebufferHeight
VUID-VkRenderingInfo-pNext-06079
If the pNext
chain does not contain
VkDeviceGroupRenderPassBeginInfo or its
deviceRenderAreaCount
member is equal to 0,
the width of the imageView
member of any element of
pColorAttachments
, pDepthAttachment
, or
pStencilAttachment
that is not VK_NULL_HANDLE must be
greater than or equal to renderArea.offset.x
+
renderArea.extent.width
VUID-VkRenderingInfo-pNext-06080
If the pNext
chain does not contain
VkDeviceGroupRenderPassBeginInfo or its
deviceRenderAreaCount
member is equal to 0,
the height of the imageView
member of any element of
pColorAttachments
, pDepthAttachment
, or
pStencilAttachment
that is not VK_NULL_HANDLE must be
greater than or equal to renderArea.offset.y
+
renderArea.extent.height
VUID-VkRenderingInfo-pNext-06083
If the pNext
chain contains
VkDeviceGroupRenderPassBeginInfo, the width of the imageView
member of any element of pColorAttachments
,
pDepthAttachment
, or pStencilAttachment
that is not
VK_NULL_HANDLE must be greater than or equal to the sum of the
offset.x
and extent.width
members of each element of
pDeviceRenderAreas
VUID-VkRenderingInfo-pNext-06084
If the pNext
chain contains
VkDeviceGroupRenderPassBeginInfo, the height of the
imageView
member of any element of pColorAttachments
,
pDepthAttachment
, or pStencilAttachment
that is not
VK_NULL_HANDLE must be greater than or equal to the sum of the
offset.y
and extent.height
members of each element of
pDeviceRenderAreas
VUID-VkRenderingInfo-pDepthAttachment-06085
If neither pDepthAttachment
or pStencilAttachment
are NULL
and the imageView
member of either structure is not
VK_NULL_HANDLE, the imageView
member of each structure must
be the same
VUID-VkRenderingInfo-pDepthAttachment-06086
If neither pDepthAttachment
or pStencilAttachment
are
NULL
, and the resolveMode
member of each is not
VK_RESOLVE_MODE_NONE
, the resolveImageView
member of each
structure must be the same
VUID-VkRenderingInfo-colorAttachmentCount-06087
If colorAttachmentCount
is not 0
and the imageView
member
of an element of pColorAttachments
is not VK_NULL_HANDLE,
that imageView
must have been created with
VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT
VUID-VkRenderingInfo-colorAttachmentCount-09476
If colorAttachmentCount
is not 0
and there is an element of
pColorAttachments
with
either its resolveMode
member set to
VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID
, or
its imageView
member not VK_NULL_HANDLE, and its
resolveMode
member not set to VK_RESOLVE_MODE_NONE
, the
resolveImageView
member of that element of pColorAttachments
must have been created with VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT
VUID-VkRenderingInfo-pDepthAttachment-06547
If pDepthAttachment
is not NULL
and
pDepthAttachment→imageView
is not VK_NULL_HANDLE,
pDepthAttachment→imageView
must have been created with a format
that includes a depth component
VUID-VkRenderingInfo-pDepthAttachment-06088
If pDepthAttachment
is not NULL
and
pDepthAttachment→imageView
is not VK_NULL_HANDLE,
pDepthAttachment→imageView
must have been created with
VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
VUID-VkRenderingInfo-pDepthAttachment-09477
If pDepthAttachment
is not NULL
and
pDepthAttachment→resolveMode
is not VK_RESOLVE_MODE_NONE
,
pDepthAttachment→resolveImageView
must have been created with
VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
VUID-VkRenderingInfo-pStencilAttachment-06548
If pStencilAttachment
is not NULL
and
pStencilAttachment→imageView
is not VK_NULL_HANDLE,
pStencilAttachment→imageView
must have been created with a
format that includes a stencil aspect
VUID-VkRenderingInfo-pStencilAttachment-06089
If pStencilAttachment
is not NULL
and
pStencilAttachment→imageView
is not VK_NULL_HANDLE,
pStencilAttachment→imageView
must have been created with a
stencil usage including
VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
VUID-VkRenderingInfo-pStencilAttachment-09478
If pStencilAttachment
is not NULL
and
pStencilAttachment→resolveMode
is not VK_RESOLVE_MODE_NONE
,
pStencilAttachment→resolveImageView
must have been created with
VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT
VUID-VkRenderingInfo-colorAttachmentCount-06090
If colorAttachmentCount
is not 0
and the imageView
member
of an element of pColorAttachments
is not VK_NULL_HANDLE,
the layout
member of that element of pColorAttachments
must
not be VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL
or
VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL
VUID-VkRenderingInfo-colorAttachmentCount-06091
If colorAttachmentCount
is not 0
and the imageView
member
of an element of pColorAttachments
is not VK_NULL_HANDLE, if
the resolveMode
member of that element of pColorAttachments
is not VK_RESOLVE_MODE_NONE
, its resolveImageLayout
member
must not be VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL
or
VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL
VUID-VkRenderingInfo-pDepthAttachment-06092
If pDepthAttachment
is not NULL
and
pDepthAttachment→imageView
is not VK_NULL_HANDLE,
pDepthAttachment→layout
must not be
VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL
VUID-VkRenderingInfo-pDepthAttachment-06093
If pDepthAttachment
is not NULL
,
pDepthAttachment→imageView
is not VK_NULL_HANDLE, and
pDepthAttachment→resolveMode
is not VK_RESOLVE_MODE_NONE
,
pDepthAttachment→resolveImageLayout
must not be
VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL
VUID-VkRenderingInfo-pStencilAttachment-06094
If pStencilAttachment
is not NULL
and
pStencilAttachment→imageView
is not VK_NULL_HANDLE,
pStencilAttachment→layout
must not be
VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL
VUID-VkRenderingInfo-pStencilAttachment-06095
If pStencilAttachment
is not NULL
,
pStencilAttachment→imageView
is not VK_NULL_HANDLE, and
pStencilAttachment→resolveMode
is not VK_RESOLVE_MODE_NONE
,
pStencilAttachment→resolveImageLayout
must not be
VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL
VUID-VkRenderingInfo-colorAttachmentCount-06096
If colorAttachmentCount
is not 0
and the imageView
member
of an element of pColorAttachments
is not VK_NULL_HANDLE,
the layout
member of that element of pColorAttachments
must
not be VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL
or VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL
VUID-VkRenderingInfo-colorAttachmentCount-06097
If colorAttachmentCount
is not 0
and the imageView
member
of an element of pColorAttachments
is not VK_NULL_HANDLE, if
the resolveMode
member of that element of pColorAttachments
is not VK_RESOLVE_MODE_NONE
, its resolveImageLayout
member
must not be
VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL
or
VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL
VUID-VkRenderingInfo-pDepthAttachment-06098
If pDepthAttachment
is not NULL
,
pDepthAttachment→imageView
is not VK_NULL_HANDLE, and
pDepthAttachment→resolveMode
is not VK_RESOLVE_MODE_NONE
,
pDepthAttachment→resolveImageLayout
must not be
VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL
VUID-VkRenderingInfo-pStencilAttachment-06099
If pStencilAttachment
is not NULL
,
pStencilAttachment→imageView
is not VK_NULL_HANDLE, and
pStencilAttachment→resolveMode
is not VK_RESOLVE_MODE_NONE
,
pStencilAttachment→resolveImageLayout
must not be
VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL
VUID-VkRenderingInfo-colorAttachmentCount-06100
If colorAttachmentCount
is not 0
and the imageView
member
of an element of pColorAttachments
is not VK_NULL_HANDLE,
the layout
member of that element of pColorAttachments
must
not be VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL
,
VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL
,
VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL
, or
VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL
VUID-VkRenderingInfo-colorAttachmentCount-06101
If colorAttachmentCount
is not 0
and the imageView
member
of an element of pColorAttachments
is not VK_NULL_HANDLE, if
the resolveMode
member of that element of pColorAttachments
is not VK_RESOLVE_MODE_NONE
, its resolveImageLayout
member
must not be VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL
,
VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL
,
VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL
, or
VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL
VUID-VkRenderingInfo-pDepthAttachment-07732
If pDepthAttachment
is not NULL
and
pDepthAttachment→imageView
is not VK_NULL_HANDLE,
pDepthAttachment→layout
must not be
VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL
or
VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL
VUID-VkRenderingInfo-pDepthAttachment-07733
If pDepthAttachment
is not NULL
,
pDepthAttachment→imageView
is not VK_NULL_HANDLE, and
pDepthAttachment→resolveMode
is not VK_RESOLVE_MODE_NONE
,
pDepthAttachment→resolveImageLayout
must not be
VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL
or
VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL
VUID-VkRenderingInfo-pStencilAttachment-07734
If pStencilAttachment
is not NULL
and
pStencilAttachment→imageView
is not VK_NULL_HANDLE,
pStencilAttachment→layout
must not be
VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL
or
VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL
VUID-VkRenderingInfo-pStencilAttachment-07735
If pStencilAttachment
is not NULL
,
pStencilAttachment→imageView
is not VK_NULL_HANDLE, and
pStencilAttachment→resolveMode
is not VK_RESOLVE_MODE_NONE
,
pStencilAttachment→resolveImageLayout
must not be
VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL
or
VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL
VUID-VkRenderingInfo-pDepthAttachment-06102
If pDepthAttachment
is not NULL
and
pDepthAttachment→imageView
is not VK_NULL_HANDLE,
pDepthAttachment→resolveMode
must be one of the bits set in
VkPhysicalDeviceDepthStencilResolveProperties::supportedDepthResolveModes
VUID-VkRenderingInfo-pStencilAttachment-06103
If pStencilAttachment
is not NULL
and
pStencilAttachment→imageView
is not VK_NULL_HANDLE,
pStencilAttachment→resolveMode
must be one of the bits set in
VkPhysicalDeviceDepthStencilResolveProperties::supportedStencilResolveModes
VUID-VkRenderingInfo-pDepthAttachment-06104
If pDepthAttachment
or pStencilAttachment
are both not
NULL
, pDepthAttachment→imageView
and
pStencilAttachment→imageView
are both not VK_NULL_HANDLE,
and
VkPhysicalDeviceDepthStencilResolveProperties::independentResolveNone
is VK_FALSE
, the resolveMode
of both structures must be the
same value
VUID-VkRenderingInfo-pDepthAttachment-06105
If pDepthAttachment
or pStencilAttachment
are both not
NULL
, pDepthAttachment→imageView
and
pStencilAttachment→imageView
are both not VK_NULL_HANDLE,
VkPhysicalDeviceDepthStencilResolveProperties::independentResolve
is VK_FALSE
, and the resolveMode
of neither structure is
VK_RESOLVE_MODE_NONE
, the resolveMode
of both structures
must be the same value
VUID-VkRenderingInfo-colorAttachmentCount-06106
colorAttachmentCount
must be less than or equal to
VkPhysicalDeviceLimits::maxColorAttachments
VUID-VkRenderingInfo-imageView-06107
If the imageView
member of a
VkRenderingFragmentDensityMapAttachmentInfoEXT structure included
in the pNext
chain is not VK_NULL_HANDLE, and the
fragmentDensityMapNonSubsampledImages
feature is not enabled,
valid imageView
and resolveImageView
members of
pDepthAttachment
, pStencilAttachment
, and each element of
pColorAttachments
must be a VkImageView created with
VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT
VUID-VkRenderingInfo-imageView-06108
If the imageView
member of a
VkRenderingFragmentDensityMapAttachmentInfoEXT structure included
in the pNext
chain is not VK_NULL_HANDLE, and viewMask
is not 0
, imageView
must have a layerCount
greater than
or equal to the index of the most significant bit in viewMask
VUID-VkRenderingInfo-imageView-06109
If the imageView
member of a
VkRenderingFragmentDensityMapAttachmentInfoEXT structure included
in the pNext
chain is not VK_NULL_HANDLE, and viewMask
is 0
, imageView
must have a layerCount
equal to 1
VUID-VkRenderingInfo-pNext-06112
If
the pNext
chain does not contain
VkDeviceGroupRenderPassBeginInfo or its
deviceRenderAreaCount
member is equal to 0 and
the imageView
member of a
VkRenderingFragmentDensityMapAttachmentInfoEXT structure included
in the pNext
chain is not VK_NULL_HANDLE, imageView
must have a width greater than or equal to
VUID-VkRenderingInfo-pNext-06114
If
the pNext
chain does not contain
VkDeviceGroupRenderPassBeginInfo or its
deviceRenderAreaCount
member is equal to 0 and
the imageView
member of a
VkRenderingFragmentDensityMapAttachmentInfoEXT structure included
in the pNext
chain is not VK_NULL_HANDLE, imageView
must have a height greater than or equal to
VUID-VkRenderingInfo-pNext-06113
If the pNext
chain contains a
VkDeviceGroupRenderPassBeginInfo structure, its
deviceRenderAreaCount
member is not 0, and the imageView
member of a VkRenderingFragmentDensityMapAttachmentInfoEXT
structure included in the pNext
chain is not VK_NULL_HANDLE,
imageView
must have a width greater than or equal to
for each element of pDeviceRenderAreas
VUID-VkRenderingInfo-pNext-06115
If the pNext
chain contains a
VkDeviceGroupRenderPassBeginInfo structure, its
deviceRenderAreaCount
member is not 0, and the imageView
member of a VkRenderingFragmentDensityMapAttachmentInfoEXT
structure included in the pNext
chain is not VK_NULL_HANDLE,
imageView
must have a height greater than or equal to
for each element of pDeviceRenderAreas
VUID-VkRenderingInfo-imageView-06116
If the imageView
member of a
VkRenderingFragmentDensityMapAttachmentInfoEXT structure included
in the pNext
chain is not VK_NULL_HANDLE, it must not be
equal to the imageView
or resolveImageView
member of
pDepthAttachment
, pStencilAttachment
, or any element of
pColorAttachments
VUID-VkRenderingInfo-pNext-06119
If
maintenance7
is not enabled or the
robustFragmentShadingRateAttachmentAccess
limit is
VK_FALSE
or the imageView
member of a
VkRenderingFragmentShadingRateAttachmentInfoKHR structure was
created with VkImageSubresourceRange::baseMipLevel
greater
than 0,
the pNext
chain does not contain
VkDeviceGroupRenderPassBeginInfo or its
deviceRenderAreaCount
member is equal to 0, and
the imageView
member of a
VkRenderingFragmentShadingRateAttachmentInfoKHR structure included
in the pNext
chain is not VK_NULL_HANDLE, imageView
must have a width greater than or equal to
VUID-VkRenderingInfo-pNext-06121
If
maintenance7
is not enabled or the
robustFragmentShadingRateAttachmentAccess
limit is
VK_FALSE
or the imageView
member of a
VkRenderingFragmentShadingRateAttachmentInfoKHR structure was
created with VkImageSubresourceRange::baseMipLevel
greater
than 0,
the pNext
chain does not contain
VkDeviceGroupRenderPassBeginInfo or its
deviceRenderAreaCount
member is equal to 0 and
the imageView
member of a
VkRenderingFragmentShadingRateAttachmentInfoKHR structure included
in the pNext
chain is not VK_NULL_HANDLE, imageView
must have a height greater than or equal to
VUID-VkRenderingInfo-pNext-06120
If
maintenance7
is not enabled or the
robustFragmentShadingRateAttachmentAccess
limit is
VK_FALSE
or the imageView
member of a
VkRenderingFragmentShadingRateAttachmentInfoKHR structure was
created with VkImageSubresourceRange::baseMipLevel
greater
than 0,
the pNext
chain contains a VkDeviceGroupRenderPassBeginInfo
structure, its deviceRenderAreaCount
member is not 0, and the
imageView
member of a
VkRenderingFragmentShadingRateAttachmentInfoKHR structure included
in the pNext
chain is not VK_NULL_HANDLE, imageView
must have a width greater than or equal to
for each element of pDeviceRenderAreas
VUID-VkRenderingInfo-pNext-06122
If
maintenance7
is not enabled or the
robustFragmentShadingRateAttachmentAccess
limit is
VK_FALSE
or the imageView
member of a
VkRenderingFragmentShadingRateAttachmentInfoKHR structure was
created with VkImageSubresourceRange::baseMipLevel
greater
than 0,
the pNext
chain contains a VkDeviceGroupRenderPassBeginInfo
structure, its deviceRenderAreaCount
member is not 0, and the
imageView
member of a
VkRenderingFragmentShadingRateAttachmentInfoKHR structure included
in the pNext
chain is not VK_NULL_HANDLE, imageView
must have a height greater than or equal to
for each element of pDeviceRenderAreas
VUID-VkRenderingInfo-layerCount-07817
layerCount
must be less than or equal to
maxFramebufferLayers
VUID-VkRenderingInfo-imageView-06123
If the imageView
member of a
VkRenderingFragmentShadingRateAttachmentInfoKHR structure included
in the pNext
chain is not VK_NULL_HANDLE, and viewMask
is 0
, imageView
must have a layerCount
that is either
equal to 1
or greater than or equal to layerCount
VUID-VkRenderingInfo-imageView-06124
If the imageView
member of a
VkRenderingFragmentShadingRateAttachmentInfoKHR structure included
in the pNext
chain is not VK_NULL_HANDLE, and viewMask
is not 0
, imageView
must have a layerCount
that either
equal to 1
or greater than or equal to the index of the most
significant bit in viewMask
VUID-VkRenderingInfo-imageView-06125
If the imageView
member of a
VkRenderingFragmentShadingRateAttachmentInfoKHR structure included
in the pNext
chain is not VK_NULL_HANDLE, it must not be
equal to the imageView
or resolveImageView
member of
pDepthAttachment
, pStencilAttachment
, or any element of
pColorAttachments
VUID-VkRenderingInfo-imageView-06126
If the imageView
member of a
VkRenderingFragmentShadingRateAttachmentInfoKHR structure included
in the pNext
chain is not VK_NULL_HANDLE, it must not be
equal to the imageView
member of a
VkRenderingFragmentDensityMapAttachmentInfoEXT structure included
in the pNext
chain
VUID-VkRenderingInfo-multiview-06127
If the multiview
feature is not enabled,
viewMask
must be 0
VUID-VkRenderingInfo-viewMask-06128
The index of the most significant bit in viewMask
must be less
than maxMultiviewViewCount
VUID-VkRenderingInfo-perViewRenderAreaCount-07857
If the perViewRenderAreaCount
member of a
VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM structure
included in the pNext
chain is not 0
, then the
multiviewPerViewRenderAreas
feature must be enabled
VUID-VkRenderingInfo-perViewRenderAreaCount-07858
If the perViewRenderAreaCount
member of a
VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM structure
included in the pNext
chain is not 0
, then renderArea
must specify a render area that includes the union of all per view
render areas
VUID-VkRenderingInfo-None-09044
Valid attachments specified by this structure must not be bound to memory locations that are bound to any other valid attachments specified by this structure
VUID-VkRenderingInfo-flags-10012
If flags
includes VK_RENDERING_CONTENTS_INLINE_BIT_KHR
then
at least one of the following features must be enabled- maintenance7
VUID-VkRenderingInfo-pDepthAttachment-09318
pDepthAttachment→resolveMode
must not be
VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID
VUID-VkRenderingInfo-pStencilAttachment-09319
pStencilAttachment→resolveMode
must not be
VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID
VUID-VkRenderingInfo-colorAttachmentCount-09320
If colorAttachmentCount
is not 1
, the resolveMode
member
of any element of pColorAttachments
must not be
VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID
VUID-VkRenderingInfo-resolveMode-09321
If the resolveMode
of any element of pColorAttachments
is
VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID
,
VkRenderingFragmentDensityMapAttachmentInfoEXT::imageView
must be VK_NULL_HANDLE
VUID-VkRenderingInfo-resolveMode-09322
If the resolveMode
of any element of pColorAttachments
is
VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID
,
VkRenderingFragmentShadingRateAttachmentInfoKHR::imageView
must be VK_NULL_HANDLE
VUID-VkRenderingInfo-pNext-09535
If the pNext
chain contains a VkRenderPassStripeBeginInfoARM
structure, the union of stripe areas defined by the elements of
VkRenderPassStripeInfoARM::pStripeInfos
must cover the
renderArea
VUID-VkRenderingInfo-colorAttachmentCount-09479
If colorAttachmentCount
is not 0
and the imageView
member
of an element of pColorAttachments
is not VK_NULL_HANDLE,
that imageView
must have been created with the
identity swizzle
VUID-VkRenderingInfo-colorAttachmentCount-09480
If colorAttachmentCount
is not 0
, and there is an element of
pColorAttachments
with
either its resolveMode
member set to
VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID
, or
its imageView
member not set to VK_NULL_HANDLE and its
resolveMode
member not set to VK_RESOLVE_MODE_NONE
, the
resolveImageView
member of that element of pColorAttachments
must have been created with the
identity swizzle
VUID-VkRenderingInfo-pDepthAttachment-09481
If pDepthAttachment
is not NULL
and
pDepthAttachment→imageView
is not VK_NULL_HANDLE,
pDepthAttachment→imageView
must have been created with the
identity swizzle
VUID-VkRenderingInfo-pDepthAttachment-09482
If pDepthAttachment
is not NULL
,
pDepthAttachment→imageView
is not VK_NULL_HANDLE, and
pDepthAttachment→resolveMode
is not VK_RESOLVE_MODE_NONE
,
pDepthAttachment→resolveImageView
must have been created with
the identity swizzle
VUID-VkRenderingInfo-pStencilAttachment-09483
If pStencilAttachment
is not NULL
and
pStencilAttachment→imageView
is not VK_NULL_HANDLE,
pStencilAttachment→imageView
must have been created with the
identity swizzle
VUID-VkRenderingInfo-pStencilAttachment-09484
If pStencilAttachment
is not NULL
,
pStencilAttachment→imageView
is not VK_NULL_HANDLE, and
pStencilAttachment→resolveMode
is not VK_RESOLVE_MODE_NONE
,
pStencilAttachment→resolveImageView
must have been created with
the identity swizzle
VUID-VkRenderingInfo-imageView-09485
If the imageView
member of a
VkRenderingFragmentShadingRateAttachmentInfoKHR structure included
in the pNext
chain is not VK_NULL_HANDLE, it must have been
created with the identity
swizzle
VUID-VkRenderingInfo-imageView-09486
If the imageView
member of a
VkRenderingFragmentDensityMapAttachmentInfoEXT structure included
in the pNext
chain is not VK_NULL_HANDLE, it must have been
created with the identity
swizzle
Valid Usage (Implicit)
VUID-VkRenderingInfo-sType-sType
sType
must be VK_STRUCTURE_TYPE_RENDERING_INFO
VUID-VkRenderingInfo-pNext-pNext
Each pNext
member of any structure (including this one) in the pNext
chain must be either NULL
or a pointer to a valid instance of VkDeviceGroupRenderPassBeginInfo, VkMultisampledRenderToSingleSampledInfoEXT, VkMultiviewPerViewAttributesInfoNVX, VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM, VkRenderPassStripeBeginInfoARM, VkRenderingFragmentDensityMapAttachmentInfoEXT, or VkRenderingFragmentShadingRateAttachmentInfoKHR
VUID-VkRenderingInfo-sType-unique
The sType
value of each struct in the pNext
chain must be unique
VUID-VkRenderingInfo-flags-parameter
flags
must be a valid combination of VkRenderingFlagBits values
VUID-VkRenderingInfo-pColorAttachments-parameter
If colorAttachmentCount
is not 0
, pColorAttachments
must be a valid pointer to an array of colorAttachmentCount
valid VkRenderingAttachmentInfo structures
VUID-VkRenderingInfo-pDepthAttachment-parameter
If pDepthAttachment
is not NULL
, pDepthAttachment
must be a valid pointer to a valid VkRenderingAttachmentInfo structure
VUID-VkRenderingInfo-pStencilAttachment-parameter
If pStencilAttachment
is not NULL
, pStencilAttachment
must be a valid pointer to a valid VkRenderingAttachmentInfo structure