Registered Extension Number




Extension and Version Dependencies


Other Extension Metadata

Last Modified Date


IP Status

No known IP claims.

Interactions and External Dependencies
  • Jeff Leger, Qualcomm

  • Jonathan Tinkham, Qualcomm

  • Jonathan Wicks, Qualcomm


Certain use-cases (e.g., side-by-side VR rendering) use multiview and render to distinct regions of the framebuffer for each view. On some implementations, there may be a performance benefit for providing per-view render areas to the implementation. Such per-view render areas can be used by the implementation to reduce the pixels that are affected by attachment load, store, and multisample resolve operations.

The extension enables a multiview render pass instance to define per-view render areas. For each view of a multiview render pass instance, only those pixels in the per-view render area are affected by load, store and resolve operations.

New Structures

New Enum Constants



  • Extending VkStructureType:




1) Do the per-view renderAreas interact with vkGetRenderAreaGranularity ?

RESOLVED: There is no change. The granularity returned by vkGetRenderAreaGranularity also applies to the per-view renderAreas.

2) How does this extension interact with VK_QCOM_render_pass_transform?

RESOLVED: When VK_QCOM_render_pass_transform is enabled, the application provides render area in non-rotated coordinates which is rotated by the implementation to the rotated coordinate system. When this extension is used in combination with VK_QCOM_render_pass_transform, then the renderArea provided in VkRenderingInfo::renderArea, VkRenderPassBeginInfo::renderArea, or VkCommandBufferInheritanceRenderPassTransformInfoQCOM::renderArea is rotated by the implementation. The per-view render areas are not rotated.

3) How does this extension interact with VK_QCOM_multiview_per_view_viewports

RESOLVED: There is no direct interaction. The per-view viewports and the per-view renderAreas are orthogonal features.

4) When a per-view renderArea is specified, must multiview rendering for each view of a multiview render pass be contained within the per-view renderArea?

RESOLVED: Yes, and the VK_QCOM_multiview_per_view_viewports may help here since it provides per-view scissors.

5) When per-view render areas are specified, what purpose if any do VkRenderPassBeginInfo::renderArea and VkRenderingInfo::renderArea serve?

RESOLVED: The per-view renderArea effectively overrides the per-renderpass renderArea. The per-view renderArea defines the regions of the attachments that are effected by load, store, and multisample resolve operations. A valid implementation could ignore the per-renderpass renderArea. However, as an aid to the implementation, the application must set the per-renderpass renderArea to an area that is at least as large as the union of all the per-view render areas. Pixels that are within the per-renderpass renderArea but not within any per-view render area must not be affected by load, store, or multisample resolve operations.

Version History

  • Revision 1, 2023-01-10 (Jeff Leger)

See Also

Document Notes

For more information, see the Vulkan Specification

This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.

Copyright 2014-2023 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0