Contact
-
Jeff Leger jackohound
Other Extension Metadata
- Last Modified Date
-
2022-11-22
- IP Status
-
No known IP claims.
- Interactions and External Dependencies
-
-
This extension interacts with
VK_KHR_dynamic_rendering
-
This extension interacts with
VK_EXT_extended_dynamic_state
-
- Contributors
-
-
Jeff Leger, Qualcomm
-
Jonathan Tinkham, Qualcomm
-
Jonathan Wicks, Qualcomm
-
Description
Certain use cases for multiview have a need for specifying a separate
viewport and scissor for each view, without using shader-based viewport
indexing as introduced with VK_EXT_shader_viewport_index_layer
.
This extension adds a new way to control ViewportIndex with multiview.
When the multiviewPerViewViewports
feature is enabled and if the last
pre-rasterization shader entry point’s interface does not use the
ViewportIndex
built-in decoration, then each view of a multiview render
pass instance will use a viewport and scissor index equal to the
ViewIndex
.
New Enum Constants
-
VK_QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_EXTENSION_NAME
-
VK_QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_SPEC_VERSION
-
Extending VkStructureType:
-
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM
-
Issues
1) Is is possible to enable/disable the
multiviewPerViewViewports
feature for individual render pass instances?
RESOLVED: No, when the multiviewPerViewViewports feature is enabled during
vkCreateDevice, then all created render pass instances (including dynamic
render passes from VK_KHR_dynamic_rendering
) and all created
VkPipelines will have the feature enabled.
This approach was chosen because it simplifies application code and there is
no known use case enable/disable the feature for individual render passes or
pipelines.
2) When this extension is used, is the value of ViewportIndex
implicitly written by the last pre-rasterization shader stage and can the
value of ViewportIndex
be read in the fragment shader?
RESOLVED: No, use of the extension extension does not add an implicit
write to ViewportIndex
in any shader stage, and additionally, the value
of ViewportIndex
in the fragment shader is undefined.
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.