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
|
hlsl.amend.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:5 Function Definition: f1( (temp void)
0:5 Function Parameters:
0:? Sequence
0:6 vector-scale (temp 4-component vector of float)
0:6 a: direct index for structure (layout(offset=0 ) uniform 4-component vector of float)
0:6 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
0:6 Constant:
0:6 0 (const uint)
0:6 b: direct index for structure (layout(offset=16 ) uniform float)
0:6 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
0:6 Constant:
0:6 1 (const uint)
0:12 Function Definition: f2( (temp void)
0:12 Function Parameters:
0:? Sequence
0:13 add (temp float)
0:13 add (temp float)
0:13 direct index (temp float)
0:13 a: direct index for structure (layout(offset=0 ) uniform 4-component vector of float)
0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
0:13 Constant:
0:13 0 (const uint)
0:13 Constant:
0:13 0 (const int)
0:13 b: direct index for structure (layout(offset=16 ) uniform float)
0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
0:13 Constant:
0:13 1 (const uint)
0:13 direct index (temp float)
0:13 c: direct index for structure (layout(offset=32 ) uniform 3-component vector of float)
0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
0:13 Constant:
0:13 2 (const uint)
0:13 Constant:
0:13 0 (const int)
0:17 Function Definition: f3( (temp void)
0:17 Function Parameters:
0:? Sequence
0:18 c: direct index for structure (layout(offset=32 ) uniform 3-component vector of float)
0:18 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
0:18 Constant:
0:18 2 (const uint)
0:24 Function Definition: f4( (temp void)
0:24 Function Parameters:
0:? Sequence
0:25 vector-scale (temp 4-component vector of float)
0:25 Convert int to float (temp float)
0:25 d: direct index for structure (layout(offset=44 ) uniform int)
0:25 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
0:25 Constant:
0:25 3 (const uint)
0:25 a: direct index for structure (layout(offset=0 ) uniform 4-component vector of float)
0:25 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
0:25 Constant:
0:25 0 (const uint)
0:? Linker Objects
0:? 'anon@0' (uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
Linked fragment stage:
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:5 Function Definition: f1( (temp void)
0:5 Function Parameters:
0:? Sequence
0:6 vector-scale (temp 4-component vector of float)
0:6 a: direct index for structure (layout(offset=0 ) uniform 4-component vector of float)
0:6 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
0:6 Constant:
0:6 0 (const uint)
0:6 b: direct index for structure (layout(offset=16 ) uniform float)
0:6 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
0:6 Constant:
0:6 1 (const uint)
0:12 Function Definition: f2( (temp void)
0:12 Function Parameters:
0:? Sequence
0:13 add (temp float)
0:13 add (temp float)
0:13 direct index (temp float)
0:13 a: direct index for structure (layout(offset=0 ) uniform 4-component vector of float)
0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
0:13 Constant:
0:13 0 (const uint)
0:13 Constant:
0:13 0 (const int)
0:13 b: direct index for structure (layout(offset=16 ) uniform float)
0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
0:13 Constant:
0:13 1 (const uint)
0:13 direct index (temp float)
0:13 c: direct index for structure (layout(offset=32 ) uniform 3-component vector of float)
0:13 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
0:13 Constant:
0:13 2 (const uint)
0:13 Constant:
0:13 0 (const int)
0:17 Function Definition: f3( (temp void)
0:17 Function Parameters:
0:? Sequence
0:18 c: direct index for structure (layout(offset=32 ) uniform 3-component vector of float)
0:18 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
0:18 Constant:
0:18 2 (const uint)
0:24 Function Definition: f4( (temp void)
0:24 Function Parameters:
0:? Sequence
0:25 vector-scale (temp 4-component vector of float)
0:25 Convert int to float (temp float)
0:25 d: direct index for structure (layout(offset=44 ) uniform int)
0:25 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
0:25 Constant:
0:25 3 (const uint)
0:25 a: direct index for structure (layout(offset=0 ) uniform 4-component vector of float)
0:25 'anon@0' (layout(row_major std140 ) uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
0:25 Constant:
0:25 0 (const uint)
0:? Linker Objects
0:? 'anon@0' (uniform block{layout(offset=0 ) uniform 4-component vector of float a, layout(offset=16 ) uniform float b, layout(offset=32 ) uniform 3-component vector of float c, layout(offset=44 ) uniform int d, uniform int e})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 47
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "f1"
ExecutionMode 4 OriginUpperLeft
Name 4 "f1"
Name 6 "f2("
Name 8 "f3("
Name 10 "f4("
Name 16 "$Global"
MemberName 16($Global) 0 "a"
MemberName 16($Global) 1 "b"
MemberName 16($Global) 2 "c"
MemberName 16($Global) 3 "d"
MemberName 16($Global) 4 "e"
Name 18 ""
MemberDecorate 16($Global) 0 Offset 0
MemberDecorate 16($Global) 1 Offset 16
MemberDecorate 16($Global) 2 Offset 32
MemberDecorate 16($Global) 3 Offset 44
MemberDecorate 16($Global) 4 Offset 48
Decorate 16($Global) Block
Decorate 18 DescriptorSet 0
2: TypeVoid
3: TypeFunction 2
12: TypeFloat 32
13: TypeVector 12(float) 4
14: TypeVector 12(float) 3
15: TypeInt 32 1
16($Global): TypeStruct 13(fvec4) 12(float) 14(fvec3) 15(int) 15(int)
17: TypePointer Uniform 16($Global)
18: 17(ptr) Variable Uniform
19: 15(int) Constant 0
20: TypePointer Uniform 13(fvec4)
23: 15(int) Constant 1
24: TypePointer Uniform 12(float)
28: TypeInt 32 0
29: 28(int) Constant 0
35: 15(int) Constant 2
39: 15(int) Constant 3
40: TypePointer Uniform 15(int)
4(f1): 2 Function None 3
5: Label
21: 20(ptr) AccessChain 18 19
22: 13(fvec4) Load 21
25: 24(ptr) AccessChain 18 23
26: 12(float) Load 25
27: 13(fvec4) VectorTimesScalar 22 26
Return
FunctionEnd
6(f2(): 2 Function None 3
7: Label
30: 24(ptr) AccessChain 18 19 29
31: 12(float) Load 30
32: 24(ptr) AccessChain 18 23
33: 12(float) Load 32
34: 12(float) FAdd 31 33
36: 24(ptr) AccessChain 18 35 29
37: 12(float) Load 36
38: 12(float) FAdd 34 37
Return
FunctionEnd
8(f3(): 2 Function None 3
9: Label
Return
FunctionEnd
10(f4(): 2 Function None 3
11: Label
41: 40(ptr) AccessChain 18 39
42: 15(int) Load 41
43: 12(float) ConvertSToF 42
44: 20(ptr) AccessChain 18 19
45: 13(fvec4) Load 44
46: 13(fvec4) VectorTimesScalar 45 43
Return
FunctionEnd
|