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