Name NVX_multiview_per_view_attributes Name Strings GL_NVX_multiview_per_view_attributes Contact Jeff Bolz, NVIDIA Corporation (jbolz 'at' nvidia.com) Contributors Kedarnath Thangudu, NVIDIA Corporation Status In progress. Version Last Modified Date: January 20, 2017 Revision: 1 Number TBD Dependencies None. Overview This extension adds per-view builtin attributes corresponding to gl_Position and gl_ViewportMask, named gl_PositionPerViewNV[] and gl_ViewportMaskPerViewNV[]. New Procedures and Functions None. New Tokens None. Modifications to the OpenGL Shading Language Specification, Version 4.50 Including the following line in a shader can be used to control the language features described in this extension: #extension GL_NVX_multiview_per_view_attributes : where is as specified in section 3.3 New preprocessor #defines are added to the OpenGL Shading Language: #define GL_NVX_multiview_per_view_attributes 1 Modify Section 7.1 (Built-In Language Variables), p. 118 Add to the list of vertex shader built-ins: out gl_PerVertex { highp vec4 gl_PositionPerViewNV[]; highp int gl_ViewportMaskPerViewNV[]; }; Add to the list of geometry shader built-ins: in gl_PerVertex { highp vec4 gl_PositionPerViewNV[]; } gl_in[]; out gl_PerVertex { highp vec4 gl_PositionPerViewNV[]; highp int gl_ViewportMaskPerViewNV[]; }; Add to the list of tessellation control shader built-ins: in gl_PerVertex { highp vec4 gl_PositionPerViewNV[]; } gl_in[gl_MaxPatchVertices]; out gl_PerVertex { highp vec4 gl_PositionPerViewNV[]; highp int gl_ViewportMaskPerViewNV[]; } gl_out[]; Add to the list of tessellation evaluation shader built-ins: in gl_PerVertex { highp vec4 gl_PositionPerViewNV[]; } gl_in[gl_MaxPatchVertices]; out gl_PerVertex { highp vec4 gl_PositionPerViewNV[]; highp int gl_ViewportMaskPerViewNV[]; }; Add the following descriptions for gl_PositionPerViewNV[] and gl_ViewportMaskPerViewNV[]: The output arrays gl_PositionPerViewNV[] and gl_ViewportMaskPerViewNV[] are available in vertex, tessellation, and geometry languages to specify the position and the viewport mask for each view. The input variable gl_PositionPerViewNV[] is available in the tessellation and geometry languages to read the per-view positions written by a previous shader stage. See the Vulkan API specification for how these values are interpreted. Errors None. Revision History Revision 1 - Internal revisions.