Class NVViewportArray2

  • public final class NVViewportArray2
    extends java.lang.Object
    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 specificiation.


    The ShaderViewportIndexLayerNV capability is equivalent to the ShaderViewportIndexLayerEXT capability added by VK_EXT_shader_viewport_index_layer.

    Name String
    Extension Type
    Device extension
    Registered Extension Number
    Extension and Version Dependencies
    • Requires Vulkan 1.0
    Last Modified Date
    Interactions and External Dependencies
    • This extension requires the SPV_NV_viewport_array2 SPIR-V extension.
    • This extension requires the GL_NV_viewport_array2 extension for GLSL source languages.
    • This extension requires the geometryShader and multiViewport features.
    • This extension interacts with the tessellationShader feature.
    • Piers Daniell, NVIDIA
    • Jeff Bolz, NVIDIA
    • Field Detail


        public static final int VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION
        The extension specification version.
        See Also:
        Constant Field Values

        public static final java.lang.String VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME
        The extension name.
        See Also:
        Constant Field Values