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