VK_EXT_shader_viewport_index_layer
Other Extension Metadata
Last Modified Date
2017-08-08
Interactions and External Dependencies
- This extension provides API support for
GL_ARB_shader_viewport_layer_array
,GL_AMD_vertex_shader_layer
,GL_AMD_vertex_shader_viewport_index
, andGL_NV_viewport_array2
- This extension requires the
multiViewport
feature. - This extension interacts with the
tessellationShader
feature.
Contributors
- Piers Daniell, NVIDIA
- Jeff Bolz, NVIDIA
- Jan-Harald Fredriksen, ARM
- Daniel Rakos, AMD
- Slawomir Grajeswki, Intel
Description
This extension adds support for the ShaderViewportIndexLayerEXT
capability from the SPV_EXT_shader_viewport_index_layer
extension in
Vulkan.
This extension allows variables decorated with the Layer
and
ViewportIndex
built-ins to be exported from vertex or tessellation
shaders, using the ShaderViewportIndexLayerEXT
capability.
When using GLSL source-based shading languages, the gl_ViewportIndex
and gl_Layer
built-in variables map to the SPIR-V ViewportIndex
and Layer
built-in decorations, respectively.
Behavior of these variables is extended as described in the
GL_ARB_shader_viewport_layer_array
(or the precursor
GL_AMD_vertex_shader_layer
, GL_AMD_vertex_shader_viewport_index
, and
GL_NV_viewport_array2
extensions).
The ShaderViewportIndexLayerEXT
capability is equivalent to the
ShaderViewportIndexLayerNV
capability added by
VK_NV_viewport_array2.
Promotion to Vulkan 1.2
All functionality in this extension is included in core Vulkan 1.2.
The single ShaderViewportIndexLayerEXT
capability from the
SPV_EXT_shader_viewport_index_layer
extension is replaced by the
ShaderViewportIndex
and ShaderLayer
capabilities from SPIR-V 1.5 which are enabled by the
shaderOutputViewportIndex
and
shaderOutputLayer
features,
respectively.
Additionally, if Vulkan 1.2 is supported but this extension is not, these
capabilities are optional.
Enabling both features is equivalent to enabling the
VK_EXT_shader_viewport_index_layer
extension.
New Enum Constants
VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME
VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION
New or Modified Built-In Variables
- (modified)
Layer
- (modified)
ViewportIndex
New SPIR-V Capabilities
Version History
- Revision 1, 2017-08-08 (Daniel Koch)
- Internal drafts