VK_NV_viewport_array2
Other Extension Metadata
Last Modified Date
2017-02-15
Interactions and External Dependencies
- This extension provides API support for
GL_NV_viewport_array2 - This extension requires the
geometryShaderandmultiViewportfeatures. - This extension interacts with the
tessellationShaderfeature.
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.
Behavior is described in the GL_NV_viewport_array2 extension
specification.
The ShaderViewportIndexLayerNV capability is equivalent to the
ShaderViewportIndexLayerEXT capability added by
VK_EXT_shader_viewport_index_layer.
New Enum Constants
VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAMEVK_NV_VIEWPORT_ARRAY2_SPEC_VERSIONVK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAMEVK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION
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