Registered Extension Number

97

Revision

1

Extension and Version Dependencies

  • Requires Vulkan 1.0

Other Extension Metadata

Last Modified Date

2017-02-15

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.

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 specificiation.

Note

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

New Object Types

None.

New Enum Constants

None.

New Enums

None.

New Structures

None.

New Functions

None.

New or Modified Built-In Variables

New Variable Decoration

Issues

None yet!

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.

Copyright (c) 2014-2020 Khronos Group. This work is licensed under a Creative Commons Attribution 4.0 International License.