Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
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
- 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 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
PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM
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
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 #