2 // Module Version 10300
3 // Generated by (magic number): 80009
4 // Id's are bound by 533
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 520(S) 0 "x"
88 MemberName 520(S) 1 "y"
89 MemberName 520(S) 2 "z"
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"
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
134 27: TypeVector 26(float) 2
135 28: TypePointer Function 27(fvec2)
136 30: 26(float) Constant 897988541
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
148 108: TypePointer Function 107(bool)
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
160 173: TypeVector 172(float16_t) 3
161 174: TypePointer Function 173(f16vec3)
163 181: TypeVector 180(int8_t) 3
164 182: TypePointer Function 181(i8vec3)
166 187: TypeVector 186(int16_t) 3
167 188: TypePointer Function 187(i16vec3)
169 193: TypeVector 192(int) 3
170 194: TypePointer Function 193(ivec3)
172 199: TypeVector 198(int64_t) 3
173 200: TypePointer Function 199(i64vec3)
175 205: TypeVector 204(int8_t) 3
176 206: TypePointer Function 205(i8vec3)
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)
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
222 6(literal(): 2 Function None 3
224 29(f32v): 28(ptr) Variable Function
225 34: 33(ptr) AccessChain 29(f32v) 32
227 38: 27(fvec2) Load 29(f32v)
228 39: 27(fvec2) FAdd 38 37
232 8(operators(): 2 Function None 3
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
242 44: 27(fvec2) Load 40(f32v)
243 45: 27(fvec2) Load 40(f32v)
244 46: 27(fvec2) FSub 45 44
246 47: 27(fvec2) Load 40(f32v)
247 48: 27(fvec2) Load 40(f32v)
248 49: 27(fvec2) FMul 48 47
250 50: 27(fvec2) Load 40(f32v)
251 51: 27(fvec2) Load 40(f32v)
252 52: 27(fvec2) FDiv 51 50
254 53: 27(fvec2) Load 40(f32v)
255 55: 27(fvec2) CompositeConstruct 54 54
256 56: 27(fvec2) FAdd 53 55
258 57: 27(fvec2) Load 40(f32v)
259 58: 27(fvec2) CompositeConstruct 54 54
260 59: 27(fvec2) FSub 57 58
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
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
278 77: 27(fvec2) Load 40(f32v)
279 78: 27(fvec2) FNegate 77
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
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
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
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
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
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
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
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
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
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
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
342 134: 27(fvec2) Load 40(f32v)
343 135: 26(float) Load 85(f32)
344 136: 27(fvec2) VectorTimesScalar 134 135
346 137: 60 Load 62(f32m)
347 138: 26(float) Load 85(f32)
348 139: 60 MatrixTimesScalar 137 138
350 140: 60 Load 62(f32m)
351 141: 27(fvec2) Load 40(f32v)
352 142: 27(fvec2) MatrixTimesVector 140 141
354 143: 27(fvec2) Load 40(f32v)
355 144: 60 Load 62(f32m)
356 145: 27(fvec2) VectorTimesMatrix 143 144
358 146: 60 Load 62(f32m)
359 147: 60 Load 62(f32m)
360 148: 60 MatrixTimesMatrix 146 147
364 10(typeCast(): 2 Function None 3
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
381 161: 158(bvec3) Load 160(bv)
382 165: 153(fvec3) Select 161 164 163
384 166: 153(fvec3) Load 155(f32v)
385 167: 158(bvec3) FOrdNotEqual 166 163
387 168:150(f64vec3) Load 152(f64v)
388 169: 153(fvec3) FConvert 168
390 170: 153(fvec3) Load 155(f32v)
391 171:150(f64vec3) FConvert 170
393 176:173(f16vec3) Load 175(f16v)
394 177: 153(fvec3) FConvert 176
396 178: 153(fvec3) Load 155(f32v)
397 179:173(f16vec3) FConvert 178
399 184: 153(fvec3) Load 155(f32v)
400 185: 181(i8vec3) ConvertFToS 184
402 190: 153(fvec3) Load 155(f32v)
403 191:187(i16vec3) ConvertFToS 190
405 196: 153(fvec3) Load 155(f32v)
406 197: 193(ivec3) ConvertFToS 196
408 202: 153(fvec3) Load 155(f32v)
409 203:199(i64vec3) ConvertFToS 202
411 208: 153(fvec3) Load 155(f32v)
412 209: 205(i8vec3) ConvertFToU 208
414 214: 153(fvec3) Load 155(f32v)
415 215:211(i16vec3) ConvertFToU 214
417 219: 153(fvec3) Load 155(f32v)
418 220: 216(ivec3) ConvertFToU 219
420 225: 153(fvec3) Load 155(f32v)
421 226:222(i64vec3) ConvertFToU 225
425 12(builtinAngleTrigFuncs(): 2 Function None 3
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
432 233: 227(fvec4) Load 230(f32v1)
433 234: 227(fvec4) ExtInst 1(GLSL.std.450) 12(Degrees) 233
435 235: 227(fvec4) Load 230(f32v1)
436 236: 227(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 235
438 237: 227(fvec4) Load 230(f32v1)
439 238: 227(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 237
441 239: 227(fvec4) Load 230(f32v1)
442 240: 227(fvec4) ExtInst 1(GLSL.std.450) 15(Tan) 239
444 241: 227(fvec4) Load 230(f32v1)
445 242: 227(fvec4) ExtInst 1(GLSL.std.450) 16(Asin) 241
447 243: 227(fvec4) Load 230(f32v1)
448 244: 227(fvec4) ExtInst 1(GLSL.std.450) 17(Acos) 243
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
454 248: 227(fvec4) Load 230(f32v1)
455 249: 227(fvec4) ExtInst 1(GLSL.std.450) 18(Atan) 248
457 250: 227(fvec4) Load 230(f32v1)
458 251: 227(fvec4) ExtInst 1(GLSL.std.450) 19(Sinh) 250
460 252: 227(fvec4) Load 230(f32v1)
461 253: 227(fvec4) ExtInst 1(GLSL.std.450) 20(Cosh) 252
463 254: 227(fvec4) Load 230(f32v1)
464 255: 227(fvec4) ExtInst 1(GLSL.std.450) 21(Tanh) 254
466 256: 227(fvec4) Load 230(f32v1)
467 257: 227(fvec4) ExtInst 1(GLSL.std.450) 22(Asinh) 256
469 258: 227(fvec4) Load 230(f32v1)
470 259: 227(fvec4) ExtInst 1(GLSL.std.450) 23(Acosh) 258
472 260: 227(fvec4) Load 230(f32v1)
473 261: 227(fvec4) ExtInst 1(GLSL.std.450) 24(Atanh) 260
477 14(builtinExpFuncs(): 2 Function None 3
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
485 267: 27(fvec2) Load 263(f32v1)
486 268: 27(fvec2) ExtInst 1(GLSL.std.450) 27(Exp) 267
488 269: 27(fvec2) Load 263(f32v1)
489 270: 27(fvec2) ExtInst 1(GLSL.std.450) 28(Log) 269
491 271: 27(fvec2) Load 263(f32v1)
492 272: 27(fvec2) ExtInst 1(GLSL.std.450) 29(Exp2) 271
494 273: 27(fvec2) Load 263(f32v1)
495 274: 27(fvec2) ExtInst 1(GLSL.std.450) 30(Log2) 273
497 275: 27(fvec2) Load 263(f32v1)
498 276: 27(fvec2) ExtInst 1(GLSL.std.450) 31(Sqrt) 275
500 277: 27(fvec2) Load 263(f32v1)
501 278: 27(fvec2) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 277
505 16(builtinCommonFuncs(): 2 Function None 3
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
517 283: 153(fvec3) Load 280(f32v1)
518 284: 153(fvec3) ExtInst 1(GLSL.std.450) 6(FSign) 283
520 285: 153(fvec3) Load 280(f32v1)
521 286: 153(fvec3) ExtInst 1(GLSL.std.450) 8(Floor) 285
523 287: 153(fvec3) Load 280(f32v1)
524 288: 153(fvec3) ExtInst 1(GLSL.std.450) 3(Trunc) 287
526 289: 153(fvec3) Load 280(f32v1)
527 290: 153(fvec3) ExtInst 1(GLSL.std.450) 1(Round) 289
529 291: 153(fvec3) Load 280(f32v1)
530 292: 153(fvec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 291
532 293: 153(fvec3) Load 280(f32v1)
533 294: 153(fvec3) ExtInst 1(GLSL.std.450) 9(Ceil) 293
535 295: 153(fvec3) Load 280(f32v1)
536 296: 153(fvec3) ExtInst 1(GLSL.std.450) 10(Fract) 295
538 297: 153(fvec3) Load 280(f32v1)
539 298: 153(fvec3) Load 279(f32v2)
540 299: 153(fvec3) FMod 297 298
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
547 306: 153(fvec3) Load 280(f32v1)
548 307: 153(fvec3) ExtInst 1(GLSL.std.450) 35(Modf) 306 279(f32v2)
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
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
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
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
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
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
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
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
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
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
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
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
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
620 367: 26(float) Load 301(f32)
621 368: 107(bool) IsNan 367
623 369: 153(fvec3) Load 280(f32v1)
624 370: 158(bvec3) IsInf 369
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
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
635 380: 153(fvec3) CompositeExtract 378 0
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
643 18(builtinGeometryFuncs(): 2 Function None 3
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
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
656 392: 153(fvec3) Load 385(f32v1)
657 393: 153(fvec3) Load 389(f32v2)
658 394: 26(float) Dot 392 393
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
664 399: 153(fvec3) Load 385(f32v1)
665 400: 153(fvec3) ExtInst 1(GLSL.std.450) 69(Normalize) 399
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
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
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
683 20(builtinMatrixFuncs(): 2 Function None 3
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
705 427: 153(fvec3) Load 426(f32v1)
706 429: 27(fvec2) Load 428(f32v2)
707 430: 412 OuterProduct 427 429
709 434: 412 Load 415(f32m1)
710 435: 431 Transpose 434
712 440: 437 Load 439(f32m5)
713 441: 26(float) ExtInst 1(GLSL.std.450) 33(Determinant) 440
715 446: 442 Load 445(f32m7)
716 447: 442 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 446
720 22(builtinVecRelFuncs(): 2 Function None 3
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
729 454: 153(fvec3) Load 449(f32v1)
730 455: 153(fvec3) Load 451(f32v2)
731 456: 158(bvec3) FOrdLessThanEqual 454 455
733 457: 153(fvec3) Load 449(f32v1)
734 458: 153(fvec3) Load 451(f32v2)
735 459: 158(bvec3) FOrdGreaterThan 457 458
737 460: 153(fvec3) Load 449(f32v1)
738 461: 153(fvec3) Load 451(f32v2)
739 462: 158(bvec3) FOrdGreaterThanEqual 460 461
741 463: 153(fvec3) Load 449(f32v1)
742 464: 153(fvec3) Load 451(f32v2)
743 465: 158(bvec3) FOrdEqual 463 464
745 466: 153(fvec3) Load 449(f32v1)
746 467: 153(fvec3) Load 451(f32v2)
747 468: 158(bvec3) FOrdNotEqual 466 467
751 24(builtinFragProcFuncs(): 2 Function None 3
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
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
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
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
776 491: 153(fvec3) Load 471(if32v)
777 492: 153(fvec3) DPdxCoarse 491
779 493: 153(fvec3) Load 471(if32v)
780 494: 153(fvec3) DPdxCoarse 493
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
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
793 504: 153(fvec3) Load 471(if32v)
794 505: 153(fvec3) FwidthCoarse 504
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
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
805 516: 153(fvec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 471(if32v) 515