[[VK_NV_viewport_array2]] == VK_NV_viewport_array2 *Name String*:: VK_NV_viewport_array2 *Extension Type*:: Device extension *Registered Extension Number*:: 97 *Status*:: Complete *Last Modified Data*:: 2017-02-15 *Revision*:: 1 *Dependencies*:: - This extension is written against version 1.0 of the Vulkan API. - This extension requires Vulkan 1.0. - This extension requires the https://www.khronos.org/registry/spir-v/extensions/NV/SPV_NV_viewport_array2.html[+SPV_NV_viewport_array2+] SPIR-V extension. - This extension requires the https://www.opengl.org/registry/specs/NV/viewport_array2.txt[+GL_NV_viewport_array2+] extension for GLSL source languages. - This extension requires the pname:geometryShader and pname:multiViewport features. - This extension interacts with the pname:tessellationShader feature. *Contributors*:: - Piers Daniell, NVIDIA - Jeff Bolz, NVIDIA *Contact*:: - Daniel Koch (dkoch 'at' nvidia.com) *Overview*:: + -- 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 code: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 code:Layer and code:ViewportIndex built-ins to be exported from vertex or tessellation shaders, using the code:ShaderViewportIndexLayerNV capability. This extension adds a new code:ViewportMaskNV built-in decoration that is available for output variables in vertex, tessellation evaluation, and geometry shaders, and a new code:ViewportRelativeNV decoration that can be added on variables decorated with code:Layer when using the code:ShaderViewportMaskNV capability. When using GLSL source-based shading languages, the code:gl_ViewportMask[] built-in output variable and code:viewport_relative layout qualifier from +GL_NV_viewport_array2+ map to the code:ViewportMaskNV and code:ViewportRelativeNV decorations, respectively. Behaviour is described in the GL_NV_viewport_array2 extension specificiation. -- === New Object Types None. === New Enum Constants None. === New Enums None. === New Structures None. === New Functions None. === New or Modified Built-In Variables * (modified) <> * (modified) <> * <> === New Variable Decoration * <> === New SPIR-V Capabilities * <> * <> === Issues None yet! === Version History * Revision 1, 2017-02-15 (Daniel Koch) - Internal revisions