2143d5383ea68c540d4ee7a1ad1299e4226dee6e
[platform/upstream/glslang.git] / Test / baseResults / spv.float32.frag.out
1 spv.float32.frag
2 // Module Version 10300
3 // Generated by (magic number): 80009
4 // Id's are bound by 533
5
6                               Capability Shader
7                               Capability Float16
8                               Capability Float64
9                               Capability Int64
10                               Capability Int16
11                               Capability Int8
12                               Capability DerivativeControl
13                               Capability InterpolationFunction
14                1:             ExtInstImport  "GLSL.std.450"
15                               MemoryModel Logical GLSL450
16                               EntryPoint Fragment 4  "main" 471
17                               ExecutionMode 4 OriginUpperLeft
18                               Source GLSL 450
19                               SourceExtension  "GL_EXT_shader_explicit_arithmetic_types"
20                               SourceExtension  "GL_EXT_shader_explicit_arithmetic_types_float16"
21                               SourceExtension  "GL_EXT_shader_explicit_arithmetic_types_float32"
22                               SourceExtension  "GL_EXT_shader_explicit_arithmetic_types_float64"
23                               SourceExtension  "GL_EXT_shader_explicit_arithmetic_types_int16"
24                               SourceExtension  "GL_EXT_shader_explicit_arithmetic_types_int32"
25                               SourceExtension  "GL_EXT_shader_explicit_arithmetic_types_int64"
26                               SourceExtension  "GL_EXT_shader_explicit_arithmetic_types_int8"
27                               Name 4  "main"
28                               Name 6  "literal("
29                               Name 8  "operators("
30                               Name 10  "typeCast("
31                               Name 12  "builtinAngleTrigFuncs("
32                               Name 14  "builtinExpFuncs("
33                               Name 16  "builtinCommonFuncs("
34                               Name 18  "builtinGeometryFuncs("
35                               Name 20  "builtinMatrixFuncs("
36                               Name 22  "builtinVecRelFuncs("
37                               Name 24  "builtinFragProcFuncs("
38                               Name 29  "f32v"
39                               Name 40  "f32v"
40                               Name 62  "f32m"
41                               Name 85  "f32"
42                               Name 109  "b"
43                               Name 152  "f64v"
44                               Name 155  "f32v"
45                               Name 160  "bv"
46                               Name 175  "f16v"
47                               Name 183  "i8v"
48                               Name 189  "i16v"
49                               Name 195  "i32v"
50                               Name 201  "i64v"
51                               Name 207  "u8v"
52                               Name 213  "u16v"
53                               Name 218  "u32v"
54                               Name 224  "u64v"
55                               Name 229  "f32v2"
56                               Name 230  "f32v1"
57                               Name 262  "f32v2"
58                               Name 263  "f32v1"
59                               Name 279  "f32v2"
60                               Name 280  "f32v1"
61                               Name 301  "f32"
62                               Name 305  "f32v3"
63                               Name 345  "bv"
64                               Name 366  "b"
65                               Name 376  "iv"
66                               Name 377  "ResType"
67                               Name 384  "f32"
68                               Name 385  "f32v1"
69                               Name 389  "f32v2"
70                               Name 395  "f32v3"
71                               Name 414  "f32m3"
72                               Name 415  "f32m1"
73                               Name 417  "f32m2"
74                               Name 426  "f32v1"
75                               Name 428  "f32v2"
76                               Name 433  "f32m4"
77                               Name 436  "f32"
78                               Name 439  "f32m5"
79                               Name 444  "f32m6"
80                               Name 445  "f32m7"
81                               Name 448  "bv"
82                               Name 449  "f32v1"
83                               Name 451  "f32v2"
84                               Name 469  "f32v"
85                               Name 471  "if32v"
86                               Name 520  "S"
87                               MemberName 520(S) 0  "x"
88                               MemberName 520(S) 1  "y"
89                               MemberName 520(S) 2  "z"
90                               Name 522  "B1"
91                               MemberName 522(B1) 0  "a"
92                               MemberName 522(B1) 1  "b"
93                               MemberName 522(B1) 2  "c"
94                               MemberName 522(B1) 3  "d"
95                               MemberName 522(B1) 4  "e"
96                               MemberName 522(B1) 5  "f"
97                               MemberName 522(B1) 6  "g"
98                               MemberName 522(B1) 7  "h"
99                               Name 524  ""
100                               Name 525  "sf16"
101                               Name 526  "sf"
102                               Name 527  "sd"
103                               Name 528  "f16_to_f"
104                               Name 530  "f16_to_d"
105                               Name 531  "f_to_f16"
106                               Name 532  "d_to_f16"
107                               Decorate 518 ArrayStride 16
108                               Decorate 519 ArrayStride 32
109                               MemberDecorate 520(S) 0 Offset 0
110                               MemberDecorate 520(S) 1 Offset 8
111                               MemberDecorate 520(S) 2 Offset 16
112                               Decorate 521 ArrayStride 32
113                               MemberDecorate 522(B1) 0 Offset 0
114                               MemberDecorate 522(B1) 1 Offset 8
115                               MemberDecorate 522(B1) 2 Offset 16
116                               MemberDecorate 522(B1) 3 Offset 32
117                               MemberDecorate 522(B1) 4 ColMajor
118                               MemberDecorate 522(B1) 4 Offset 64
119                               MemberDecorate 522(B1) 4 MatrixStride 16
120                               MemberDecorate 522(B1) 5 ColMajor
121                               MemberDecorate 522(B1) 5 Offset 96
122                               MemberDecorate 522(B1) 5 MatrixStride 16
123                               MemberDecorate 522(B1) 6 Offset 160
124                               MemberDecorate 522(B1) 7 Offset 192
125                               Decorate 522(B1) Block
126                               Decorate 524 DescriptorSet 0
127                               Decorate 524 Binding 0
128                               Decorate 525(sf16) SpecId 100
129                               Decorate 526(sf) SpecId 101
130                               Decorate 527(sd) SpecId 102
131                2:             TypeVoid
132                3:             TypeFunction 2
133               26:             TypeFloat 32
134               27:             TypeVector 26(float) 2
135               28:             TypePointer Function 27(fvec2)
136               30:   26(float) Constant 897988541
137               31:             TypeInt 32 0
138               32:     31(int) Constant 0
139               33:             TypePointer Function 26(float)
140               35:   26(float) Constant 3196059648
141               36:   26(float) Constant 1022739087
142               37:   27(fvec2) ConstantComposite 35 36
143               54:   26(float) Constant 1065353216
144               60:             TypeMatrix 27(fvec2) 2
145               61:             TypePointer Function 60
146               88:     31(int) Constant 1
147              107:             TypeBool
148              108:             TypePointer Function 107(bool)
149              149:             TypeFloat 64
150              150:             TypeVector 149(float64_t) 3
151              151:             TypePointer Function 150(f64vec3)
152              153:             TypeVector 26(float) 3
153              154:             TypePointer Function 153(fvec3)
154              158:             TypeVector 107(bool) 3
155              159:             TypePointer Function 158(bvec3)
156              162:   26(float) Constant 0
157              163:  153(fvec3) ConstantComposite 162 162 162
158              164:  153(fvec3) ConstantComposite 54 54 54
159              172:             TypeFloat 16
160              173:             TypeVector 172(float16_t) 3
161              174:             TypePointer Function 173(f16vec3)
162              180:             TypeInt 8 1
163              181:             TypeVector 180(int8_t) 3
164              182:             TypePointer Function 181(i8vec3)
165              186:             TypeInt 16 1
166              187:             TypeVector 186(int16_t) 3
167              188:             TypePointer Function 187(i16vec3)
168              192:             TypeInt 32 1
169              193:             TypeVector 192(int) 3
170              194:             TypePointer Function 193(ivec3)
171              198:             TypeInt 64 1
172              199:             TypeVector 198(int64_t) 3
173              200:             TypePointer Function 199(i64vec3)
174              204:             TypeInt 8 0
175              205:             TypeVector 204(int8_t) 3
176              206:             TypePointer Function 205(i8vec3)
177              210:             TypeInt 16 0
178              211:             TypeVector 210(int16_t) 3
179              212:             TypePointer Function 211(i16vec3)
180              216:             TypeVector 31(int) 3
181              217:             TypePointer Function 216(ivec3)
182              221:             TypeInt 64 0
183              222:             TypeVector 221(int64_t) 3
184              223:             TypePointer Function 222(i64vec3)
185              227:             TypeVector 26(float) 4
186              228:             TypePointer Function 227(fvec4)
187     377(ResType):             TypeStruct 153(fvec3) 193(ivec3)
188              412:             TypeMatrix 153(fvec3) 2
189              413:             TypePointer Function 412
190              431:             TypeMatrix 27(fvec2) 3
191              432:             TypePointer Function 431
192              437:             TypeMatrix 153(fvec3) 3
193              438:             TypePointer Function 437
194              442:             TypeMatrix 227(fvec4) 4
195              443:             TypePointer Function 442
196              470:             TypePointer Input 153(fvec3)
197       471(if32v):    470(ptr) Variable Input
198              472:             TypePointer Input 26(float)
199              509:    192(int) Constant 1
200              514:   26(float) Constant 1056964608
201              515:   27(fvec2) ConstantComposite 514 514
202              517:     31(int) Constant 2
203              518:             TypeArray 26(float) 517
204              519:             TypeArray 412 517
205           520(S):             TypeStruct 26(float) 27(fvec2) 153(fvec3)
206              521:             TypeArray 520(S) 517
207          522(B1):             TypeStruct 26(float) 27(fvec2) 153(fvec3) 518 412 519 520(S) 521
208              523:             TypePointer Uniform 522(B1)
209              524:    523(ptr) Variable Uniform
210        525(sf16):172(float16_t) SpecConstant 12288
211          526(sf):   26(float) SpecConstant 1048576000
212          527(sd):149(float64_t) SpecConstant 0 1071644672
213    528(f16_to_f):   26(float) SpecConstantOp 115 525(sf16)
214              529:   26(float) SpecConstantOp 115 525(sf16)
215    530(f16_to_d):149(float64_t) SpecConstantOp 115 529
216    531(f_to_f16):172(float16_t) SpecConstantOp 115 526(sf)
217    532(d_to_f16):172(float16_t) SpecConstantOp 115 527(sd)
218          4(main):           2 Function None 3
219                5:             Label
220                               Return
221                               FunctionEnd
222      6(literal():           2 Function None 3
223                7:             Label
224         29(f32v):     28(ptr) Variable Function
225               34:     33(ptr) AccessChain 29(f32v) 32
226                               Store 34 30
227               38:   27(fvec2) Load 29(f32v)
228               39:   27(fvec2) FAdd 38 37
229                               Store 29(f32v) 39
230                               Return
231                               FunctionEnd
232    8(operators():           2 Function None 3
233                9:             Label
234         40(f32v):     28(ptr) Variable Function
235         62(f32m):     61(ptr) Variable Function
236          85(f32):     33(ptr) Variable Function
237           109(b):    108(ptr) Variable Function
238               41:   27(fvec2) Load 40(f32v)
239               42:   27(fvec2) Load 40(f32v)
240               43:   27(fvec2) FAdd 42 41
241                               Store 40(f32v) 43
242               44:   27(fvec2) Load 40(f32v)
243               45:   27(fvec2) Load 40(f32v)
244               46:   27(fvec2) FSub 45 44
245                               Store 40(f32v) 46
246               47:   27(fvec2) Load 40(f32v)
247               48:   27(fvec2) Load 40(f32v)
248               49:   27(fvec2) FMul 48 47
249                               Store 40(f32v) 49
250               50:   27(fvec2) Load 40(f32v)
251               51:   27(fvec2) Load 40(f32v)
252               52:   27(fvec2) FDiv 51 50
253                               Store 40(f32v) 52
254               53:   27(fvec2) Load 40(f32v)
255               55:   27(fvec2) CompositeConstruct 54 54
256               56:   27(fvec2) FAdd 53 55
257                               Store 40(f32v) 56
258               57:   27(fvec2) Load 40(f32v)
259               58:   27(fvec2) CompositeConstruct 54 54
260               59:   27(fvec2) FSub 57 58
261                               Store 40(f32v) 59
262               63:          60 Load 62(f32m)
263               64:   27(fvec2) CompositeConstruct 54 54
264               65:   27(fvec2) CompositeExtract 63 0
265               66:   27(fvec2) FAdd 65 64
266               67:   27(fvec2) CompositeExtract 63 1
267               68:   27(fvec2) FAdd 67 64
268               69:          60 CompositeConstruct 66 68
269                               Store 62(f32m) 69
270               70:          60 Load 62(f32m)
271               71:   27(fvec2) CompositeConstruct 54 54
272               72:   27(fvec2) CompositeExtract 70 0
273               73:   27(fvec2) FSub 72 71
274               74:   27(fvec2) CompositeExtract 70 1
275               75:   27(fvec2) FSub 74 71
276               76:          60 CompositeConstruct 73 75
277                               Store 62(f32m) 76
278               77:   27(fvec2) Load 40(f32v)
279               78:   27(fvec2) FNegate 77
280                               Store 40(f32v) 78
281               79:          60 Load 62(f32m)
282               80:   27(fvec2) CompositeExtract 79 0
283               81:   27(fvec2) FNegate 80
284               82:   27(fvec2) CompositeExtract 79 1
285               83:   27(fvec2) FNegate 82
286               84:          60 CompositeConstruct 81 83
287                               Store 62(f32m) 84
288               86:     33(ptr) AccessChain 40(f32v) 32
289               87:   26(float) Load 86
290               89:     33(ptr) AccessChain 40(f32v) 88
291               90:   26(float) Load 89
292               91:   26(float) FAdd 87 90
293                               Store 85(f32) 91
294               92:     33(ptr) AccessChain 40(f32v) 32
295               93:   26(float) Load 92
296               94:     33(ptr) AccessChain 40(f32v) 88
297               95:   26(float) Load 94
298               96:   26(float) FSub 93 95
299                               Store 85(f32) 96
300               97:     33(ptr) AccessChain 40(f32v) 32
301               98:   26(float) Load 97
302               99:     33(ptr) AccessChain 40(f32v) 88
303              100:   26(float) Load 99
304              101:   26(float) FMul 98 100
305                               Store 85(f32) 101
306              102:     33(ptr) AccessChain 40(f32v) 32
307              103:   26(float) Load 102
308              104:     33(ptr) AccessChain 40(f32v) 88
309              105:   26(float) Load 104
310              106:   26(float) FDiv 103 105
311                               Store 85(f32) 106
312              110:     33(ptr) AccessChain 40(f32v) 32
313              111:   26(float) Load 110
314              112:   26(float) Load 85(f32)
315              113:   107(bool) FOrdNotEqual 111 112
316                               Store 109(b) 113
317              114:     33(ptr) AccessChain 40(f32v) 88
318              115:   26(float) Load 114
319              116:   26(float) Load 85(f32)
320              117:   107(bool) FOrdEqual 115 116
321                               Store 109(b) 117
322              118:     33(ptr) AccessChain 40(f32v) 32
323              119:   26(float) Load 118
324              120:   26(float) Load 85(f32)
325              121:   107(bool) FOrdGreaterThan 119 120
326                               Store 109(b) 121
327              122:     33(ptr) AccessChain 40(f32v) 88
328              123:   26(float) Load 122
329              124:   26(float) Load 85(f32)
330              125:   107(bool) FOrdLessThan 123 124
331                               Store 109(b) 125
332              126:     33(ptr) AccessChain 40(f32v) 32
333              127:   26(float) Load 126
334              128:   26(float) Load 85(f32)
335              129:   107(bool) FOrdGreaterThanEqual 127 128
336                               Store 109(b) 129
337              130:     33(ptr) AccessChain 40(f32v) 88
338              131:   26(float) Load 130
339              132:   26(float) Load 85(f32)
340              133:   107(bool) FOrdLessThanEqual 131 132
341                               Store 109(b) 133
342              134:   27(fvec2) Load 40(f32v)
343              135:   26(float) Load 85(f32)
344              136:   27(fvec2) VectorTimesScalar 134 135
345                               Store 40(f32v) 136
346              137:          60 Load 62(f32m)
347              138:   26(float) Load 85(f32)
348              139:          60 MatrixTimesScalar 137 138
349                               Store 62(f32m) 139
350              140:          60 Load 62(f32m)
351              141:   27(fvec2) Load 40(f32v)
352              142:   27(fvec2) MatrixTimesVector 140 141
353                               Store 40(f32v) 142
354              143:   27(fvec2) Load 40(f32v)
355              144:          60 Load 62(f32m)
356              145:   27(fvec2) VectorTimesMatrix 143 144
357                               Store 40(f32v) 145
358              146:          60 Load 62(f32m)
359              147:          60 Load 62(f32m)
360              148:          60 MatrixTimesMatrix 146 147
361                               Store 62(f32m) 148
362                               Return
363                               FunctionEnd
364    10(typeCast():           2 Function None 3
365               11:             Label
366        152(f64v):    151(ptr) Variable Function
367        155(f32v):    154(ptr) Variable Function
368          160(bv):    159(ptr) Variable Function
369        175(f16v):    174(ptr) Variable Function
370         183(i8v):    182(ptr) Variable Function
371        189(i16v):    188(ptr) Variable Function
372        195(i32v):    194(ptr) Variable Function
373        201(i64v):    200(ptr) Variable Function
374         207(u8v):    206(ptr) Variable Function
375        213(u16v):    212(ptr) Variable Function
376        218(u32v):    217(ptr) Variable Function
377        224(u64v):    223(ptr) Variable Function
378              156:  153(fvec3) Load 155(f32v)
379              157:150(f64vec3) FConvert 156
380                               Store 152(f64v) 157
381              161:  158(bvec3) Load 160(bv)
382              165:  153(fvec3) Select 161 164 163
383                               Store 155(f32v) 165
384              166:  153(fvec3) Load 155(f32v)
385              167:  158(bvec3) FOrdNotEqual 166 163
386                               Store 160(bv) 167
387              168:150(f64vec3) Load 152(f64v)
388              169:  153(fvec3) FConvert 168
389                               Store 155(f32v) 169
390              170:  153(fvec3) Load 155(f32v)
391              171:150(f64vec3) FConvert 170
392                               Store 152(f64v) 171
393              176:173(f16vec3) Load 175(f16v)
394              177:  153(fvec3) FConvert 176
395                               Store 155(f32v) 177
396              178:  153(fvec3) Load 155(f32v)
397              179:173(f16vec3) FConvert 178
398                               Store 175(f16v) 179
399              184:  153(fvec3) Load 155(f32v)
400              185: 181(i8vec3) ConvertFToS 184
401                               Store 183(i8v) 185
402              190:  153(fvec3) Load 155(f32v)
403              191:187(i16vec3) ConvertFToS 190
404                               Store 189(i16v) 191
405              196:  153(fvec3) Load 155(f32v)
406              197:  193(ivec3) ConvertFToS 196
407                               Store 195(i32v) 197
408              202:  153(fvec3) Load 155(f32v)
409              203:199(i64vec3) ConvertFToS 202
410                               Store 201(i64v) 203
411              208:  153(fvec3) Load 155(f32v)
412              209: 205(i8vec3) ConvertFToU 208
413                               Store 207(u8v) 209
414              214:  153(fvec3) Load 155(f32v)
415              215:211(i16vec3) ConvertFToU 214
416                               Store 213(u16v) 215
417              219:  153(fvec3) Load 155(f32v)
418              220:  216(ivec3) ConvertFToU 219
419                               Store 218(u32v) 220
420              225:  153(fvec3) Load 155(f32v)
421              226:222(i64vec3) ConvertFToU 225
422                               Store 224(u64v) 226
423                               Return
424                               FunctionEnd
425 12(builtinAngleTrigFuncs():           2 Function None 3
426               13:             Label
427       229(f32v2):    228(ptr) Variable Function
428       230(f32v1):    228(ptr) Variable Function
429              231:  227(fvec4) Load 230(f32v1)
430              232:  227(fvec4) ExtInst 1(GLSL.std.450) 11(Radians) 231
431                               Store 229(f32v2) 232
432              233:  227(fvec4) Load 230(f32v1)
433              234:  227(fvec4) ExtInst 1(GLSL.std.450) 12(Degrees) 233
434                               Store 229(f32v2) 234
435              235:  227(fvec4) Load 230(f32v1)
436              236:  227(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 235
437                               Store 229(f32v2) 236
438              237:  227(fvec4) Load 230(f32v1)
439              238:  227(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 237
440                               Store 229(f32v2) 238
441              239:  227(fvec4) Load 230(f32v1)
442              240:  227(fvec4) ExtInst 1(GLSL.std.450) 15(Tan) 239
443                               Store 229(f32v2) 240
444              241:  227(fvec4) Load 230(f32v1)
445              242:  227(fvec4) ExtInst 1(GLSL.std.450) 16(Asin) 241
446                               Store 229(f32v2) 242
447              243:  227(fvec4) Load 230(f32v1)
448              244:  227(fvec4) ExtInst 1(GLSL.std.450) 17(Acos) 243
449                               Store 229(f32v2) 244
450              245:  227(fvec4) Load 230(f32v1)
451              246:  227(fvec4) Load 229(f32v2)
452              247:  227(fvec4) ExtInst 1(GLSL.std.450) 25(Atan2) 245 246
453                               Store 229(f32v2) 247
454              248:  227(fvec4) Load 230(f32v1)
455              249:  227(fvec4) ExtInst 1(GLSL.std.450) 18(Atan) 248
456                               Store 229(f32v2) 249
457              250:  227(fvec4) Load 230(f32v1)
458              251:  227(fvec4) ExtInst 1(GLSL.std.450) 19(Sinh) 250
459                               Store 229(f32v2) 251
460              252:  227(fvec4) Load 230(f32v1)
461              253:  227(fvec4) ExtInst 1(GLSL.std.450) 20(Cosh) 252
462                               Store 229(f32v2) 253
463              254:  227(fvec4) Load 230(f32v1)
464              255:  227(fvec4) ExtInst 1(GLSL.std.450) 21(Tanh) 254
465                               Store 229(f32v2) 255
466              256:  227(fvec4) Load 230(f32v1)
467              257:  227(fvec4) ExtInst 1(GLSL.std.450) 22(Asinh) 256
468                               Store 229(f32v2) 257
469              258:  227(fvec4) Load 230(f32v1)
470              259:  227(fvec4) ExtInst 1(GLSL.std.450) 23(Acosh) 258
471                               Store 229(f32v2) 259
472              260:  227(fvec4) Load 230(f32v1)
473              261:  227(fvec4) ExtInst 1(GLSL.std.450) 24(Atanh) 260
474                               Store 229(f32v2) 261
475                               Return
476                               FunctionEnd
477 14(builtinExpFuncs():           2 Function None 3
478               15:             Label
479       262(f32v2):     28(ptr) Variable Function
480       263(f32v1):     28(ptr) Variable Function
481              264:   27(fvec2) Load 263(f32v1)
482              265:   27(fvec2) Load 262(f32v2)
483              266:   27(fvec2) ExtInst 1(GLSL.std.450) 26(Pow) 264 265
484                               Store 262(f32v2) 266
485              267:   27(fvec2) Load 263(f32v1)
486              268:   27(fvec2) ExtInst 1(GLSL.std.450) 27(Exp) 267
487                               Store 262(f32v2) 268
488              269:   27(fvec2) Load 263(f32v1)
489              270:   27(fvec2) ExtInst 1(GLSL.std.450) 28(Log) 269
490                               Store 262(f32v2) 270
491              271:   27(fvec2) Load 263(f32v1)
492              272:   27(fvec2) ExtInst 1(GLSL.std.450) 29(Exp2) 271
493                               Store 262(f32v2) 272
494              273:   27(fvec2) Load 263(f32v1)
495              274:   27(fvec2) ExtInst 1(GLSL.std.450) 30(Log2) 273
496                               Store 262(f32v2) 274
497              275:   27(fvec2) Load 263(f32v1)
498              276:   27(fvec2) ExtInst 1(GLSL.std.450) 31(Sqrt) 275
499                               Store 262(f32v2) 276
500              277:   27(fvec2) Load 263(f32v1)
501              278:   27(fvec2) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 277
502                               Store 262(f32v2) 278
503                               Return
504                               FunctionEnd
505 16(builtinCommonFuncs():           2 Function None 3
506               17:             Label
507       279(f32v2):    154(ptr) Variable Function
508       280(f32v1):    154(ptr) Variable Function
509         301(f32):     33(ptr) Variable Function
510       305(f32v3):    154(ptr) Variable Function
511          345(bv):    159(ptr) Variable Function
512           366(b):    108(ptr) Variable Function
513          376(iv):    194(ptr) Variable Function
514              281:  153(fvec3) Load 280(f32v1)
515              282:  153(fvec3) ExtInst 1(GLSL.std.450) 4(FAbs) 281
516                               Store 279(f32v2) 282
517              283:  153(fvec3) Load 280(f32v1)
518              284:  153(fvec3) ExtInst 1(GLSL.std.450) 6(FSign) 283
519                               Store 279(f32v2) 284
520              285:  153(fvec3) Load 280(f32v1)
521              286:  153(fvec3) ExtInst 1(GLSL.std.450) 8(Floor) 285
522                               Store 279(f32v2) 286
523              287:  153(fvec3) Load 280(f32v1)
524              288:  153(fvec3) ExtInst 1(GLSL.std.450) 3(Trunc) 287
525                               Store 279(f32v2) 288
526              289:  153(fvec3) Load 280(f32v1)
527              290:  153(fvec3) ExtInst 1(GLSL.std.450) 1(Round) 289
528                               Store 279(f32v2) 290
529              291:  153(fvec3) Load 280(f32v1)
530              292:  153(fvec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 291
531                               Store 279(f32v2) 292
532              293:  153(fvec3) Load 280(f32v1)
533              294:  153(fvec3) ExtInst 1(GLSL.std.450) 9(Ceil) 293
534                               Store 279(f32v2) 294
535              295:  153(fvec3) Load 280(f32v1)
536              296:  153(fvec3) ExtInst 1(GLSL.std.450) 10(Fract) 295
537                               Store 279(f32v2) 296
538              297:  153(fvec3) Load 280(f32v1)
539              298:  153(fvec3) Load 279(f32v2)
540              299:  153(fvec3) FMod 297 298
541                               Store 279(f32v2) 299
542              300:  153(fvec3) Load 280(f32v1)
543              302:   26(float) Load 301(f32)
544              303:  153(fvec3) CompositeConstruct 302 302 302
545              304:  153(fvec3) FMod 300 303
546                               Store 279(f32v2) 304
547              306:  153(fvec3) Load 280(f32v1)
548              307:  153(fvec3) ExtInst 1(GLSL.std.450) 35(Modf) 306 279(f32v2)
549                               Store 305(f32v3) 307
550              308:  153(fvec3) Load 280(f32v1)
551              309:  153(fvec3) Load 279(f32v2)
552              310:  153(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 308 309
553                               Store 305(f32v3) 310
554              311:  153(fvec3) Load 280(f32v1)
555              312:   26(float) Load 301(f32)
556              313:  153(fvec3) CompositeConstruct 312 312 312
557              314:  153(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 311 313
558                               Store 305(f32v3) 314
559              315:  153(fvec3) Load 280(f32v1)
560              316:  153(fvec3) Load 279(f32v2)
561              317:  153(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 315 316
562                               Store 305(f32v3) 317
563              318:  153(fvec3) Load 280(f32v1)
564              319:   26(float) Load 301(f32)
565              320:  153(fvec3) CompositeConstruct 319 319 319
566              321:  153(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 318 320
567                               Store 305(f32v3) 321
568              322:  153(fvec3) Load 280(f32v1)
569              323:   26(float) Load 301(f32)
570              324:     33(ptr) AccessChain 279(f32v2) 32
571              325:   26(float) Load 324
572              326:  153(fvec3) CompositeConstruct 323 323 323
573              327:  153(fvec3) CompositeConstruct 325 325 325
574              328:  153(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 322 326 327
575                               Store 305(f32v3) 328
576              329:  153(fvec3) Load 280(f32v1)
577              330:  153(fvec3) Load 279(f32v2)
578              331:   26(float) Load 301(f32)
579              332:  153(fvec3) CompositeConstruct 331 331 331
580              333:  153(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 329 330 332
581                               Store 305(f32v3) 333
582              334:  153(fvec3) Load 280(f32v1)
583              335:  153(fvec3) Load 279(f32v2)
584              336:   26(float) Load 301(f32)
585              337:  153(fvec3) CompositeConstruct 336 336 336
586              338:  153(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 334 335 337
587                               Store 305(f32v3) 338
588              339:  153(fvec3) Load 280(f32v1)
589              340:  153(fvec3) Load 279(f32v2)
590              341:  153(fvec3) Load 305(f32v3)
591              342:  153(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 339 340 341
592                               Store 305(f32v3) 342
593              343:  153(fvec3) Load 280(f32v1)
594              344:  153(fvec3) Load 279(f32v2)
595              346:  158(bvec3) Load 345(bv)
596              347:  153(fvec3) Select 346 344 343
597                               Store 305(f32v3) 347
598              348:  153(fvec3) Load 280(f32v1)
599              349:  153(fvec3) Load 279(f32v2)
600              350:  153(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 348 349
601                               Store 305(f32v3) 350
602              351:   26(float) Load 301(f32)
603              352:  153(fvec3) Load 305(f32v3)
604              353:  153(fvec3) CompositeConstruct 351 351 351
605              354:  153(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 353 352
606                               Store 305(f32v3) 354
607              355:  153(fvec3) Load 280(f32v1)
608              356:  153(fvec3) Load 279(f32v2)
609              357:  153(fvec3) Load 305(f32v3)
610              358:  153(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 355 356 357
611                               Store 305(f32v3) 358
612              359:   26(float) Load 301(f32)
613              360:     33(ptr) AccessChain 280(f32v1) 32
614              361:   26(float) Load 360
615              362:  153(fvec3) Load 279(f32v2)
616              363:  153(fvec3) CompositeConstruct 359 359 359
617              364:  153(fvec3) CompositeConstruct 361 361 361
618              365:  153(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 363 364 362
619                               Store 305(f32v3) 365
620              367:   26(float) Load 301(f32)
621              368:   107(bool) IsNan 367
622                               Store 366(b) 368
623              369:  153(fvec3) Load 280(f32v1)
624              370:  158(bvec3) IsInf 369
625                               Store 345(bv) 370
626              371:  153(fvec3) Load 280(f32v1)
627              372:  153(fvec3) Load 279(f32v2)
628              373:  153(fvec3) Load 305(f32v3)
629              374:  153(fvec3) ExtInst 1(GLSL.std.450) 50(Fma) 371 372 373
630                               Store 305(f32v3) 374
631              375:  153(fvec3) Load 280(f32v1)
632              378:377(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 375
633              379:  193(ivec3) CompositeExtract 378 1
634                               Store 376(iv) 379
635              380:  153(fvec3) CompositeExtract 378 0
636                               Store 279(f32v2) 380
637              381:  153(fvec3) Load 280(f32v1)
638              382:  193(ivec3) Load 376(iv)
639              383:  153(fvec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 381 382
640                               Store 279(f32v2) 383
641                               Return
642                               FunctionEnd
643 18(builtinGeometryFuncs():           2 Function None 3
644               19:             Label
645         384(f32):     33(ptr) Variable Function
646       385(f32v1):    154(ptr) Variable Function
647       389(f32v2):    154(ptr) Variable Function
648       395(f32v3):    154(ptr) Variable Function
649              386:  153(fvec3) Load 385(f32v1)
650              387:   26(float) ExtInst 1(GLSL.std.450) 66(Length) 386
651                               Store 384(f32) 387
652              388:  153(fvec3) Load 385(f32v1)
653              390:  153(fvec3) Load 389(f32v2)
654              391:   26(float) ExtInst 1(GLSL.std.450) 67(Distance) 388 390
655                               Store 384(f32) 391
656              392:  153(fvec3) Load 385(f32v1)
657              393:  153(fvec3) Load 389(f32v2)
658              394:   26(float) Dot 392 393
659                               Store 384(f32) 394
660              396:  153(fvec3) Load 385(f32v1)
661              397:  153(fvec3) Load 389(f32v2)
662              398:  153(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 396 397
663                               Store 395(f32v3) 398
664              399:  153(fvec3) Load 385(f32v1)
665              400:  153(fvec3) ExtInst 1(GLSL.std.450) 69(Normalize) 399
666                               Store 389(f32v2) 400
667              401:  153(fvec3) Load 385(f32v1)
668              402:  153(fvec3) Load 389(f32v2)
669              403:  153(fvec3) Load 395(f32v3)
670              404:  153(fvec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 401 402 403
671                               Store 395(f32v3) 404
672              405:  153(fvec3) Load 385(f32v1)
673              406:  153(fvec3) Load 389(f32v2)
674              407:  153(fvec3) ExtInst 1(GLSL.std.450) 71(Reflect) 405 406
675                               Store 395(f32v3) 407
676              408:  153(fvec3) Load 385(f32v1)
677              409:  153(fvec3) Load 389(f32v2)
678              410:   26(float) Load 384(f32)
679              411:  153(fvec3) ExtInst 1(GLSL.std.450) 72(Refract) 408 409 410
680                               Store 395(f32v3) 411
681                               Return
682                               FunctionEnd
683 20(builtinMatrixFuncs():           2 Function None 3
684               21:             Label
685       414(f32m3):    413(ptr) Variable Function
686       415(f32m1):    413(ptr) Variable Function
687       417(f32m2):    413(ptr) Variable Function
688       426(f32v1):    154(ptr) Variable Function
689       428(f32v2):     28(ptr) Variable Function
690       433(f32m4):    432(ptr) Variable Function
691         436(f32):     33(ptr) Variable Function
692       439(f32m5):    438(ptr) Variable Function
693       444(f32m6):    443(ptr) Variable Function
694       445(f32m7):    443(ptr) Variable Function
695              416:         412 Load 415(f32m1)
696              418:         412 Load 417(f32m2)
697              419:  153(fvec3) CompositeExtract 416 0
698              420:  153(fvec3) CompositeExtract 418 0
699              421:  153(fvec3) FMul 419 420
700              422:  153(fvec3) CompositeExtract 416 1
701              423:  153(fvec3) CompositeExtract 418 1
702              424:  153(fvec3) FMul 422 423
703              425:         412 CompositeConstruct 421 424
704                               Store 414(f32m3) 425
705              427:  153(fvec3) Load 426(f32v1)
706              429:   27(fvec2) Load 428(f32v2)
707              430:         412 OuterProduct 427 429
708                               Store 415(f32m1) 430
709              434:         412 Load 415(f32m1)
710              435:         431 Transpose 434
711                               Store 433(f32m4) 435
712              440:         437 Load 439(f32m5)
713              441:   26(float) ExtInst 1(GLSL.std.450) 33(Determinant) 440
714                               Store 436(f32) 441
715              446:         442 Load 445(f32m7)
716              447:         442 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 446
717                               Store 444(f32m6) 447
718                               Return
719                               FunctionEnd
720 22(builtinVecRelFuncs():           2 Function None 3
721               23:             Label
722          448(bv):    159(ptr) Variable Function
723       449(f32v1):    154(ptr) Variable Function
724       451(f32v2):    154(ptr) Variable Function
725              450:  153(fvec3) Load 449(f32v1)
726              452:  153(fvec3) Load 451(f32v2)
727              453:  158(bvec3) FOrdLessThan 450 452
728                               Store 448(bv) 453
729              454:  153(fvec3) Load 449(f32v1)
730              455:  153(fvec3) Load 451(f32v2)
731              456:  158(bvec3) FOrdLessThanEqual 454 455
732                               Store 448(bv) 456
733              457:  153(fvec3) Load 449(f32v1)
734              458:  153(fvec3) Load 451(f32v2)
735              459:  158(bvec3) FOrdGreaterThan 457 458
736                               Store 448(bv) 459
737              460:  153(fvec3) Load 449(f32v1)
738              461:  153(fvec3) Load 451(f32v2)
739              462:  158(bvec3) FOrdGreaterThanEqual 460 461
740                               Store 448(bv) 462
741              463:  153(fvec3) Load 449(f32v1)
742              464:  153(fvec3) Load 451(f32v2)
743              465:  158(bvec3) FOrdEqual 463 464
744                               Store 448(bv) 465
745              466:  153(fvec3) Load 449(f32v1)
746              467:  153(fvec3) Load 451(f32v2)
747              468:  158(bvec3) FOrdNotEqual 466 467
748                               Store 448(bv) 468
749                               Return
750                               FunctionEnd
751 24(builtinFragProcFuncs():           2 Function None 3
752               25:             Label
753        469(f32v):    154(ptr) Variable Function
754              473:    472(ptr) AccessChain 471(if32v) 32
755              474:   26(float) Load 473
756              475:   26(float) DPdx 474
757              476:     33(ptr) AccessChain 469(f32v) 32
758                               Store 476 475
759              477:    472(ptr) AccessChain 471(if32v) 88
760              478:   26(float) Load 477
761              479:   26(float) DPdy 478
762              480:     33(ptr) AccessChain 469(f32v) 88
763                               Store 480 479
764              481:  153(fvec3) Load 471(if32v)
765              482:   27(fvec2) VectorShuffle 481 481 0 1
766              483:   27(fvec2) DPdxFine 482
767              484:  153(fvec3) Load 469(f32v)
768              485:  153(fvec3) VectorShuffle 484 483 3 4 2
769                               Store 469(f32v) 485
770              486:  153(fvec3) Load 471(if32v)
771              487:   27(fvec2) VectorShuffle 486 486 0 1
772              488:   27(fvec2) DPdyFine 487
773              489:  153(fvec3) Load 469(f32v)
774              490:  153(fvec3) VectorShuffle 489 488 3 4 2
775                               Store 469(f32v) 490
776              491:  153(fvec3) Load 471(if32v)
777              492:  153(fvec3) DPdxCoarse 491
778                               Store 469(f32v) 492
779              493:  153(fvec3) Load 471(if32v)
780              494:  153(fvec3) DPdxCoarse 493
781                               Store 469(f32v) 494
782              495:    472(ptr) AccessChain 471(if32v) 32
783              496:   26(float) Load 495
784              497:   26(float) Fwidth 496
785              498:     33(ptr) AccessChain 469(f32v) 32
786                               Store 498 497
787              499:  153(fvec3) Load 471(if32v)
788              500:   27(fvec2) VectorShuffle 499 499 0 1
789              501:   27(fvec2) FwidthFine 500
790              502:  153(fvec3) Load 469(f32v)
791              503:  153(fvec3) VectorShuffle 502 501 3 4 2
792                               Store 469(f32v) 503
793              504:  153(fvec3) Load 471(if32v)
794              505:  153(fvec3) FwidthCoarse 504
795                               Store 469(f32v) 505
796              506:    472(ptr) AccessChain 471(if32v) 32
797              507:   26(float) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 506
798              508:     33(ptr) AccessChain 469(f32v) 32
799                               Store 508 507
800              510:  153(fvec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 471(if32v) 509
801              511:   27(fvec2) VectorShuffle 510 510 0 1
802              512:  153(fvec3) Load 469(f32v)
803              513:  153(fvec3) VectorShuffle 512 511 3 4 2
804                               Store 469(f32v) 513
805              516:  153(fvec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 471(if32v) 515
806                               Store 469(f32v) 516
807                               Return
808                               FunctionEnd