-
Notifications
You must be signed in to change notification settings - Fork 100
/
GL_NVX_multiview_per_view_attributes.txt
122 lines (76 loc) · 2.82 KB
/
GL_NVX_multiview_per_view_attributes.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
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 : <behavior>
where <behavior> 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.