Class NVViewportArray2

java.lang.Object
org.lwjgl.vulkan.NVViewportArray2

public final class NVViewportArray2 extends 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 specification.

Note

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

VK_NV_viewport_array2
Name String
VK_NV_viewport_array2
Extension Type
Device extension
Registered Extension Number
97
Revision
1
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 and multiViewport features.
  • This extension interacts with the tessellationShader feature.
Contributors
  • Piers Daniell, NVIDIA
  • Jeff Bolz, NVIDIA
  • Field Details

    • VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION

      public static final int VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION
      The extension specification version.
      See Also:
    • VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME

      public static final String VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME
      The extension name.
      See Also:
    • VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION

      public static final int VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION
      The extension specification version.
      See Also:
    • VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME

      public static final String VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME
      The extension name.
      See Also: