/ appendices / VK_EXT_shader_viewport_index_layer.txt
VK_EXT_shader_viewport_index_layer.txt
1 include::meta/VK_EXT_shader_viewport_index_layer.txt[] 2 3 *Last Modified Date*:: 4 2017-08-08 5 *Interactions and External Dependencies*:: 6 - This extension requires the 7 https://www.khronos.org/registry/spir-v/extensions/EXT/SPV_EXT_shader_viewport_index_layer.html[`SPV_EXT_shader_viewport_index_layer`] 8 SPIR-V extension. 9 - This extension requires the 10 https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_shader_viewport_layer_array.txt[`GL_ARB_shader_viewport_layer_array`], 11 https://www.khronos.org/registry/OpenGL/extensions/AMD/AMD_vertex_shader_layer.txt[`GL_AMD_vertex_shader_layer`], 12 https://www.khronos.org/registry/OpenGL/extensions/AMD/AMD_vertex_shader_viewport_index.txt[`GL_AMD_vertex_shader_viewport_index`], 13 or 14 https://www.khronos.org/registry/OpenGL/extensions/NV/NV_viewport_array2.txt[`GL_NV_viewport_array2`] 15 extensions for GLSL source languages. 16 - This extension requires the pname:multiViewport feature. 17 - This extension interacts with the pname:tessellationShader feature. 18 *Contributors*:: 19 - Piers Daniell, NVIDIA 20 - Jeff Bolz, NVIDIA 21 - Jan-Harald Fredriksen, ARM 22 - Daniel Rakos, AMD 23 - Slawomir Grajeswki, Intel 24 25 This extension adds support for the code:ShaderViewportIndexLayerEXT 26 capability from the `SPV_EXT_shader_viewport_index_layer` extension in 27 Vulkan. 28 29 This extension allows variables decorated with the code:Layer and 30 code:ViewportIndex built-ins to be exported from vertex or tessellation 31 shaders, using the code:ShaderViewportIndexLayerEXT capability. 32 33 When using GLSL source-based shading languages, the code:gl_ViewportIndex 34 and code:gl_Layer built-in variables map to the SPIR-V code:ViewportIndex 35 and code:Layer built-in decorations, respectively. 36 Behaviour of these variables is extended as described in the 37 `GL_ARB_shader_viewport_layer_array` (or the precursor 38 `GL_AMD_vertex_shader_layer`, `GL_AMD_vertex_shader_viewport_index`, and 39 `GL_NV_viewport_array2` extensions). 40 41 ifdef::VK_NV_viewport_array2[] 42 [NOTE] 43 .Note 44 ==== 45 The code:ShaderViewportIndexLayerEXT capability is equivalent to the 46 code:ShaderViewportIndexLayerNV capability added by 47 `<<VK_NV_viewport_array2>>`. 48 ==== 49 endif::VK_NV_viewport_array2[] 50 51 === New Object Types 52 53 None. 54 55 === New Enum Constants 56 57 None. 58 59 === New Enums 60 61 None. 62 63 === New Structures 64 65 None. 66 67 === New Functions 68 69 None. 70 71 === New or Modified Built-In Variables 72 73 * (modified) <<interfaces-builtin-variables-layer,code:Layer>> 74 * (modified) 75 <<interfaces-builtin-variables-viewportindex,code:ViewportIndex>> 76 77 === New Variable Decoration 78 79 None. 80 81 === New SPIR-V Capabilities 82 83 * <<spirvenv-capabilities-table-shader-viewport-index-layer,code:ShaderViewportIndexLayerEXT>> 84 85 === Issues 86 87 None yet! 88 89 === Version History 90 91 * Revision 1, 2017-08-08 (Daniel Koch) 92 - Internal drafts