Function Prototype
vkGetRenderAreaGranularity
Returns the granularity for optimal render area
To query the render area granularity, call:
void vkGetRenderAreaGranularity(
VkDevice device,
VkRenderPass renderPass,
VkExtent2D* pGranularity);
device
is the logical device that owns the render pass.renderPass
is a handle to a render pass.pGranularity
is a pointer to a VkExtent2D structure in which the granularity is returned.
The conditions leading to an optimal renderArea
are:
- the
offset.x
member inrenderArea
is a multiple of thewidth
member of the returned VkExtent2D (the horizontal granularity). - the
offset.y
member inrenderArea
is a multiple of theheight
member of the returned VkExtent2D (the vertical granularity). - either the
extent.width
member inrenderArea
is a multiple of the horizontal granularity oroffset.x
+extent.width
is equal to thewidth
of theframebuffer
in the VkRenderPassBeginInfo. - either the
extent.height
member inrenderArea
is a multiple of the vertical granularity oroffset.y
+extent.height
is equal to theheight
of theframebuffer
in the VkRenderPassBeginInfo.
Subpass dependencies are not affected by the render area, and apply to the entire image subresources attached to the framebuffer as specified in the description of automatic layout transitions. Similarly, pipeline barriers are valid even if their effect extends outside the render area.
Valid Usage (Implicit)
VUID-vkGetRenderAreaGranularity-device-parameter
device
must be a valid VkDevice handle
VUID-vkGetRenderAreaGranularity-renderPass-parameter
renderPass
must be a valid VkRenderPass handle
VUID-vkGetRenderAreaGranularity-pGranularity-parameter
pGranularity
must be a valid pointer to a VkExtent2D structure
VUID-vkGetRenderAreaGranularity-renderPass-parent
renderPass
must have been created, allocated, or retrieved from device