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
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
|
iomap.variableOutBlockIn.vert
Shader version: 440
0:? Sequence
0:6 Function Definition: main( ( global void)
0:6 Function Parameters:
0:8 Sequence
0:8 move second child to first child ( temp 4-component vector of float)
0:8 'a1' (layout( location=0) smooth out 4-component vector of float)
0:8 Constant:
0:8 1.000000
0:8 1.000000
0:8 1.000000
0:8 1.000000
0:9 move second child to first child ( temp 2-component vector of float)
0:9 'a2' (layout( location=1) smooth out 2-component vector of float)
0:9 Constant:
0:9 0.500000
0:9 0.500000
0:10 move second child to first child ( temp 4-component vector of float)
0:10 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
0:10 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
0:10 Constant:
0:10 0 (const uint)
0:10 Constant:
0:10 1.000000
0:10 1.000000
0:10 1.000000
0:10 1.000000
0:? Linker Objects
0:? 'a1' (layout( location=0) smooth out 4-component vector of float)
0:? 'a2' (layout( location=1) smooth out 2-component vector of float)
0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out unsized 1-element array of float ClipDistance gl_ClipDistance})
0:? 'gl_VertexID' ( gl_VertexId int VertexId)
0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
iomap.variableOutBlockIn.frag
Shader version: 440
0:? Sequence
0:10 Function Definition: main( ( global void)
0:10 Function Parameters:
0:12 Sequence
0:12 move second child to first child ( temp 4-component vector of float)
0:12 'color' (layout( location=0) out 4-component vector of float)
0:12 Construct vec4 ( temp 4-component vector of float)
0:12 vector swizzle ( temp 2-component vector of float)
0:12 a1: direct index for structure ( in 4-component vector of float)
0:12 'anon@0' (layout( location=0) in block{ in 4-component vector of float a1, in 2-component vector of float a2})
0:12 Constant:
0:12 0 (const uint)
0:12 Sequence
0:12 Constant:
0:12 0 (const int)
0:12 Constant:
0:12 1 (const int)
0:12 a2: direct index for structure ( in 2-component vector of float)
0:12 'anon@0' (layout( location=0) in block{ in 4-component vector of float a1, in 2-component vector of float a2})
0:12 Constant:
0:12 1 (const uint)
0:? Linker Objects
0:? 'anon@0' (layout( location=0) in block{ in 4-component vector of float a1, in 2-component vector of float a2})
0:? 'color' (layout( location=0) out 4-component vector of float)
Linked vertex stage:
Linked fragment stage:
Shader version: 440
0:? Sequence
0:6 Function Definition: main( ( global void)
0:6 Function Parameters:
0:8 Sequence
0:8 move second child to first child ( temp 4-component vector of float)
0:8 'a1' (layout( location=0) smooth out 4-component vector of float)
0:8 Constant:
0:8 1.000000
0:8 1.000000
0:8 1.000000
0:8 1.000000
0:9 move second child to first child ( temp 2-component vector of float)
0:9 'a2' (layout( location=1) smooth out 2-component vector of float)
0:9 Constant:
0:9 0.500000
0:9 0.500000
0:10 move second child to first child ( temp 4-component vector of float)
0:10 gl_Position: direct index for structure ( gl_Position 4-component vector of float Position)
0:10 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
0:10 Constant:
0:10 0 (const uint)
0:10 Constant:
0:10 1.000000
0:10 1.000000
0:10 1.000000
0:10 1.000000
0:? Linker Objects
0:? 'a1' (layout( location=0) smooth out 4-component vector of float)
0:? 'a2' (layout( location=1) smooth out 2-component vector of float)
0:? 'anon@0' ( out block{ gl_Position 4-component vector of float Position gl_Position, gl_PointSize float PointSize gl_PointSize, out 1-element array of float ClipDistance gl_ClipDistance})
0:? 'gl_VertexID' ( gl_VertexId int VertexId)
0:? 'gl_InstanceID' ( gl_InstanceId int InstanceId)
Shader version: 440
0:? Sequence
0:10 Function Definition: main( ( global void)
0:10 Function Parameters:
0:12 Sequence
0:12 move second child to first child ( temp 4-component vector of float)
0:12 'color' (layout( location=0) out 4-component vector of float)
0:12 Construct vec4 ( temp 4-component vector of float)
0:12 vector swizzle ( temp 2-component vector of float)
0:12 a1: direct index for structure ( in 4-component vector of float)
0:12 'anon@0' (layout( location=0) in block{ in 4-component vector of float a1, in 2-component vector of float a2})
0:12 Constant:
0:12 0 (const uint)
0:12 Sequence
0:12 Constant:
0:12 0 (const int)
0:12 Constant:
0:12 1 (const int)
0:12 a2: direct index for structure ( in 2-component vector of float)
0:12 'anon@0' (layout( location=0) in block{ in 4-component vector of float a1, in 2-component vector of float a2})
0:12 Constant:
0:12 1 (const uint)
0:? Linker Objects
0:? 'anon@0' (layout( location=0) in block{ in 4-component vector of float a1, in 2-component vector of float a2})
0:? 'color' (layout( location=0) out 4-component vector of float)
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 29
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "main" 9 14 22 27 28
Source GLSL 440
Name 4 "main"
Name 9 "a1"
Name 14 "a2"
Name 20 "gl_PerVertex"
MemberName 20(gl_PerVertex) 0 "gl_Position"
MemberName 20(gl_PerVertex) 1 "gl_PointSize"
MemberName 20(gl_PerVertex) 2 "gl_ClipDistance"
Name 22 ""
Name 27 "gl_VertexID"
Name 28 "gl_InstanceID"
Decorate 9(a1) Location 0
Decorate 14(a2) Location 1
MemberDecorate 20(gl_PerVertex) 0 BuiltIn Position
MemberDecorate 20(gl_PerVertex) 1 BuiltIn PointSize
MemberDecorate 20(gl_PerVertex) 2 BuiltIn ClipDistance
Decorate 20(gl_PerVertex) Block
Decorate 27(gl_VertexID) BuiltIn VertexId
Decorate 28(gl_InstanceID) BuiltIn InstanceId
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Output 7(fvec4)
9(a1): 8(ptr) Variable Output
10: 6(float) Constant 1065353216
11: 7(fvec4) ConstantComposite 10 10 10 10
12: TypeVector 6(float) 2
13: TypePointer Output 12(fvec2)
14(a2): 13(ptr) Variable Output
15: 6(float) Constant 1056964608
16: 12(fvec2) ConstantComposite 15 15
17: TypeInt 32 0
18: 17(int) Constant 1
19: TypeArray 6(float) 18
20(gl_PerVertex): TypeStruct 7(fvec4) 6(float) 19
21: TypePointer Output 20(gl_PerVertex)
22: 21(ptr) Variable Output
23: TypeInt 32 1
24: 23(int) Constant 0
26: TypePointer Input 23(int)
27(gl_VertexID): 26(ptr) Variable Input
28(gl_InstanceID): 26(ptr) Variable Input
4(main): 2 Function None 3
5: Label
Store 9(a1) 11
Store 14(a2) 16
25: 8(ptr) AccessChain 22 24
Store 25 11
Return
FunctionEnd
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 29
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 9 13
ExecutionMode 4 OriginLowerLeft
Source GLSL 440
Name 4 "main"
Name 9 "color"
Name 11 "Inputs"
MemberName 11(Inputs) 0 "a1"
MemberName 11(Inputs) 1 "a2"
Name 13 ""
Decorate 9(color) Location 0
Decorate 11(Inputs) Block
Decorate 13 Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Output 7(fvec4)
9(color): 8(ptr) Variable Output
10: TypeVector 6(float) 2
11(Inputs): TypeStruct 7(fvec4) 10(fvec2)
12: TypePointer Input 11(Inputs)
13: 12(ptr) Variable Input
14: TypeInt 32 1
15: 14(int) Constant 0
16: TypePointer Input 7(fvec4)
20: 14(int) Constant 1
21: TypePointer Input 10(fvec2)
4(main): 2 Function None 3
5: Label
17: 16(ptr) AccessChain 13 15
18: 7(fvec4) Load 17
19: 10(fvec2) VectorShuffle 18 18 0 1
22: 21(ptr) AccessChain 13 20
23: 10(fvec2) Load 22
24: 6(float) CompositeExtract 19 0
25: 6(float) CompositeExtract 19 1
26: 6(float) CompositeExtract 23 0
27: 6(float) CompositeExtract 23 1
28: 7(fvec4) CompositeConstruct 24 25 26 27
Store 9(color) 28
Return
FunctionEnd
|