Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Name
VK_NV_viewport_array2 - device extension
VK_NV_viewport_array2
- Name String
VK_NV_viewport_array2
- Extension Type
- Device extension
- Registered Extension Number
- 97
- Revision
- 1
- Ratification Status
- Not ratified
- Extension and Version Dependencies; Contact
Other Extension Metadata
- Last Modified Date
- 2017-02-15
- Interactions and External Dependencies
- This extension requires SPV_NV_viewport_array2
- This extension provides API support for GL_NV_viewport_array2
- This extension requires the
geometryShader
andmultiViewport
features. - This extension interacts with the
tessellationShader
feature.
- Contributors
- Piers Daniell, NVIDIA
- Jeff Bolz, NVIDIA
Description
This extension adds support for the following SPIR-V extension in Vulkan:
SPV_NV_viewport_array2
which allows a single primitive to be broadcast to multiple viewports
and/or multiple layers. A new shader built-in output ViewportMaskNV
is provided, which allows a single primitive to be output to multiple
viewports simultaneously. Also, a new SPIR-V decoration is added to
control whether the effective viewport index is added into the variable
decorated with the Layer
built-in decoration. These capabilities allow
a single primitive to be output to multiple layers simultaneously.
This extension allows variables decorated with the Layer
and
ViewportIndex
built-ins to be exported from vertex or tessellation
shaders, using the ShaderViewportIndexLayerNV
capability.
This extension adds a new ViewportMaskNV
built-in decoration that is
available for output variables in vertex, tessellation evaluation, and
geometry shaders, and a new ViewportRelativeNV
decoration that can be
added on variables decorated with Layer
when using the
ShaderViewportMaskNV
capability.
When using GLSL source-based shading languages, the gl_ViewportMask
[]
built-in output variable and viewport_relative
layout qualifier from
GL_NV_viewport_array2
map to the ViewportMaskNV
and
ViewportRelativeNV
decorations, respectively. Behaviour is described
in the GL_NV_viewport_array2
extension specification.
Note
The ShaderViewportIndexLayerNV
capability is equivalent to the
ShaderViewportIndexLayerEXT
capability added by
VK_EXT_shader_viewport_index_layer
.
New Enum Constants
New or Modified Built-In Variables
- (modified) Layer
- (modified) ViewportIndex
- ViewportMaskNV
New Variable Decoration
New SPIR-V Capabilities
Version History
Revision 1, 2017-02-15 (Daniel Koch)
- Internal revisions
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.
Documentation
pattern NV_VIEWPORT_ARRAY2_SPEC_VERSION :: Integral a => a Source #
pattern NV_VIEWPORT_ARRAY2_EXTENSION_NAME :: (Eq a, IsString a) => a Source #
type NV_VIEWPORT_ARRAY_2_SPEC_VERSION = 1 Source #
pattern NV_VIEWPORT_ARRAY_2_SPEC_VERSION :: forall a. Integral a => a Source #
type NV_VIEWPORT_ARRAY_2_EXTENSION_NAME = "VK_NV_viewport_array2" Source #
pattern NV_VIEWPORT_ARRAY_2_EXTENSION_NAME :: forall a. (Eq a, IsString a) => a Source #