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. Behaviour 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.
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.
VK_EXT_shader_viewport_index_layerSPV_EXT_shader_viewport_index_layerGL_ARB_shader_viewport_layer_array, GL_AMD_vertex_shader_layer, GL_AMD_vertex_shader_viewport_index, and GL_NV_viewport_array2multiViewport feature.tessellationShader feature.| Modifier and Type | Field and Description |
|---|---|
| public static final String | VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME
The extension name. |
| public static final int | VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION
The extension specification version. |
| Access | Constructor and Description |
|---|---|
| private |
| VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME | back to summary |
|---|---|
| public static final String VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME The extension name. | |
| VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION | back to summary |
|---|---|
| public static final int VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION The extension specification version. | |
| EXTShaderViewportIndexLayer | back to summary |
|---|---|
| private EXTShaderViewportIndexLayer() | |