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;
sTypeis a VkStructureType value identifying this structure.pNextisNULLor a pointer to a structure extending this structure.perViewRenderAreaCountis the number of elements in thepPerViewRenderAreasarray.pPerViewRenderAreasis 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::renderAreamust 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 pPerViewRenderAreasmust be greater than or equal to 0
VUID-VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM-offset-07862
The offset.y member of any element of pPerViewRenderAreasmust 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