| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Vulkan.Extensions.VK_QCOM_multiview_per_view_viewports
Description
Name
VK_QCOM_multiview_per_view_viewports - device extension
VK_QCOM_multiview_per_view_viewports
- Name String
VK_QCOM_multiview_per_view_viewports
- Extension Type
- Device extension
- Registered Extension Number
- 489
- Revision
- 1
- Ratification Status
- Not ratified
- Extension and Version Dependencies
- VK_KHR_get_physical_device_properties2 or Vulkan Version 1.1
- Contact
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
- This extension interacts with
- 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
Extending
PhysicalDeviceFeatures2,DeviceCreateInfo:
New Enum Constants
Issues
1) Is it 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 to
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 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
No cross-references are available
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.
Synopsis
- data PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM = PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM {}
- type QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_SPEC_VERSION = 1
- pattern QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_SPEC_VERSION :: forall a. Integral a => a
- type QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_EXTENSION_NAME = "VK_QCOM_multiview_per_view_viewports"
- pattern QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a
Documentation
data PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM Source #
VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM - Structure describing multiview per view viewports features that can be supported by an implementation
Members
This structure describes the following features:
Description
If the PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM structure
is included in the pNext chain of the
PhysicalDeviceFeatures2
structure passed to
getPhysicalDeviceFeatures2,
it is filled in to indicate whether each corresponding feature is
supported. PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM can
also be used in the pNext chain of
DeviceCreateInfo to selectively enable these
features.
Valid Usage (Implicit)
See Also
Constructors
| PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM | |
Fields | |
Instances
pattern QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_SPEC_VERSION :: forall a. Integral a => a Source #
type QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_EXTENSION_NAME = "VK_QCOM_multiview_per_view_viewports" Source #
pattern QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #