106 lines
3.2 KiB
Plaintext
106 lines
3.2 KiB
Plaintext
include::meta/VK_NV_viewport_array2.txt[]
|
|
|
|
*Last Modified Date*::
|
|
2017-02-15
|
|
*Interactions and External Dependencies*::
|
|
- 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.khronos.org/registry/OpenGL/extensions/NV/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
|
|
|
|
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 code: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.
|
|
|
|
ifdef::VK_EXT_shader_viewport_index_layer[]
|
|
[NOTE]
|
|
.Note
|
|
====
|
|
The code:ShaderViewportIndexLayerNV capability is equivalent to the
|
|
code:ShaderViewportIndexLayerEXT capability added by
|
|
`<<VK_EXT_shader_viewport_index_layer>>`.
|
|
====
|
|
endif::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
|
|
|
|
* (modified) <<interfaces-builtin-variables-layer,code:Layer>>
|
|
* (modified)
|
|
<<interfaces-builtin-variables-viewportindex,code:ViewportIndex>>
|
|
* <<interfaces-builtin-variables-viewportmask,code:ViewportMaskNV>>
|
|
|
|
=== New Variable Decoration
|
|
|
|
* <<interfaces-builtin-variables-layer,code:ViewportRelativeNV in
|
|
code:Layer>>
|
|
|
|
=== New SPIR-V Capabilities
|
|
|
|
* <<spirvenv-capabilities-table-viewportarray2,code:ShaderViewportIndexLayerNV>>
|
|
* <<spirvenv-capabilities-table-viewportarray2,code:ShaderViewportMaskNV>>
|
|
|
|
=== Issues
|
|
|
|
None yet!
|
|
|
|
=== Version History
|
|
|
|
* Revision 1, 2017-02-15 (Daniel Koch)
|
|
- Internal revisions
|