VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM
If a render pass instance enables multiview and if the
multiviewPerViewRenderAreas
feature is enabled, the
VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM
structure can be
included in the pNext
chain of VkRenderPassBeginInfo
or VkRenderingInfo
The VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM
structure is
defined as:
typedef struct VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM {
VkStructureType sType;
const void* pNext;
uint32_t perViewRenderAreaCount;
const VkRect2D* pPerViewRenderAreas;
} VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM;
sType
is a VkStructureType value identifying this structure.pNext
isNULL
or a pointer to a structure extending this structure.perViewRenderAreaCount
is the number of elements in thepPerViewRenderAreas
array.pPerViewRenderAreas
is a pointer to an array of VkRect2D structures defining the render area for each view.
If perViewRenderAreaCount
is not zero, then the elements of
pPerViewRenderAreas
override the value of
VkRenderPassBeginInfo::renderArea
or VkRenderingInfo::renderArea
and define per-view render areas for the individual views of a multiview
render pass.
The render area for the view with view index i
is specified by
pPerViewRenderAreas
[i].
The per-view render areas define per-view regions of attachments that are
loaded, stored, and resolved according to the loadOp
, storeOp
,
and resolveMode
values of the render pass instance.
When per-view render areas are defined, the value of
VkRenderPassBeginInfo::renderArea
or VkRenderingInfo::renderArea
must be a render area that includes the union of all per-view render areas,
may be used by the implementation for optimizations, but does not affect
loads, stores, or resolves.
If this structure is present and if perViewRenderAreaCount
is not
zero, then perViewRenderAreaCount
must be at least one greater than
the most significant bit set in any element of
VkRenderPassMultiviewCreateInfo::pViewMasks
.
or VkRenderingInfo::viewMask
If this structure is not present or if perViewRenderAreaCount
is zero,
VkRenderPassBeginInfo::renderArea
or VkRenderingInfo::renderArea
is used for all views.
Valid Usage
VUID-VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM-offset-07861
The offset.x
member of any element of pPerViewRenderAreas
must be greater than or equal to 0
VUID-VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM-offset-07862
The offset.y
member of any element of pPerViewRenderAreas
must be greater than or equal to 0
VUID-VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM-offset-07863
The sum of the offset.x
and extent.width
members of any
element of pPerViewRenderAreas
must be less than or equal to
maxFramebufferWidth
VUID-VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM-offset-07864
The sum of the offset.y
and extent.height
members of any
element of pPerViewRenderAreas
must be less than or equal to
maxFramebufferHeight
VUID-VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM-pNext-07865
If this structure is in the pNext
chain of
VkRenderPassBeginInfo and if the render pass object included an
element in VkRenderPassMultiviewCreateInfo::pViewMasks
that
set bit n
, then perViewRenderAreaCount
must be at least equal
to n+1
VUID-VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM-pNext-07866
If this structure is in the pNext
chain of VkRenderingInfo
and if VkRenderingInfo::viewMask
set bit n
, then
perViewRenderAreaCount
must be at least equal to n+1
Valid Usage (Implicit)
VUID-VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM-sType-sType
sType
must be VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM
VUID-VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM-pPerViewRenderAreas-parameter
If perViewRenderAreaCount
is not 0
, pPerViewRenderAreas
must be a valid pointer to an array of perViewRenderAreaCount
VkRect2D structures