Registered Extension Number

489

Revision

1

Ratification Status

Not ratified

Extension and Version Dependencies

Contact

Other Extension Metadata

Last Modified Date

2022-11-22

IP Status

No known IP claims.

Interactions and External Dependencies
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 Structures

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.

Version History

  • Revision 1, 2022-11-22 (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