spv.float32.frag // Module Version 10300 // Generated by (magic number): 80006 // Id's are bound by 530 Capability Shader Capability Float16 Capability Float64 Capability Int64 Capability Int16 Capability Int8 Capability DerivativeControl Capability InterpolationFunction 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 468 ExecutionMode 4 OriginUpperLeft Source GLSL 450 SourceExtension "GL_KHX_shader_explicit_arithmetic_types" SourceExtension "GL_KHX_shader_explicit_arithmetic_types_float16" SourceExtension "GL_KHX_shader_explicit_arithmetic_types_float32" SourceExtension "GL_KHX_shader_explicit_arithmetic_types_float64" SourceExtension "GL_KHX_shader_explicit_arithmetic_types_int16" SourceExtension "GL_KHX_shader_explicit_arithmetic_types_int32" SourceExtension "GL_KHX_shader_explicit_arithmetic_types_int64" SourceExtension "GL_KHX_shader_explicit_arithmetic_types_int8" Name 4 "main" Name 6 "literal(" Name 8 "operators(" Name 10 "typeCast(" Name 12 "builtinAngleTrigFuncs(" Name 14 "builtinExpFuncs(" Name 16 "builtinCommonFuncs(" Name 18 "builtinGeometryFuncs(" Name 20 "builtinMatrixFuncs(" Name 22 "builtinVecRelFuncs(" Name 24 "builtinFragProcFuncs(" Name 29 "f32v" Name 40 "f32v" Name 62 "f32m" Name 85 "f32" Name 109 "b" Name 152 "f64v" Name 155 "f32v" Name 160 "bv" Name 175 "f16v" Name 183 "i8v" Name 189 "i16v" Name 195 "i32v" Name 201 "i64v" Name 204 "u8v" Name 210 "u16v" Name 215 "u32v" Name 221 "u64v" Name 226 "f32v2" Name 227 "f32v1" Name 259 "f32v2" Name 260 "f32v1" Name 276 "f32v2" Name 277 "f32v1" Name 298 "f32" Name 302 "f32v3" Name 342 "bv" Name 363 "b" Name 373 "iv" Name 374 "ResType" Name 381 "f32" Name 382 "f32v1" Name 386 "f32v2" Name 392 "f32v3" Name 411 "f32m3" Name 412 "f32m1" Name 414 "f32m2" Name 423 "f32v1" Name 425 "f32v2" Name 430 "f32m4" Name 433 "f32" Name 436 "f32m5" Name 441 "f32m6" Name 442 "f32m7" Name 445 "bv" Name 446 "f32v1" Name 448 "f32v2" Name 466 "f32v" Name 468 "if32v" Name 517 "S" MemberName 517(S) 0 "x" MemberName 517(S) 1 "y" MemberName 517(S) 2 "z" Name 519 "B1" MemberName 519(B1) 0 "a" MemberName 519(B1) 1 "b" MemberName 519(B1) 2 "c" MemberName 519(B1) 3 "d" MemberName 519(B1) 4 "e" MemberName 519(B1) 5 "f" MemberName 519(B1) 6 "g" MemberName 519(B1) 7 "h" Name 521 "" Name 522 "sf16" Name 523 "sf" Name 524 "sd" Decorate 515 ArrayStride 16 Decorate 516 ArrayStride 32 MemberDecorate 517(S) 0 Offset 0 MemberDecorate 517(S) 1 Offset 8 MemberDecorate 517(S) 2 Offset 16 Decorate 518 ArrayStride 32 MemberDecorate 519(B1) 0 Offset 0 MemberDecorate 519(B1) 1 Offset 8 MemberDecorate 519(B1) 2 Offset 16 MemberDecorate 519(B1) 3 Offset 32 MemberDecorate 519(B1) 4 ColMajor MemberDecorate 519(B1) 4 Offset 64 MemberDecorate 519(B1) 4 MatrixStride 16 MemberDecorate 519(B1) 5 ColMajor MemberDecorate 519(B1) 5 Offset 96 MemberDecorate 519(B1) 5 MatrixStride 16 MemberDecorate 519(B1) 6 Offset 160 MemberDecorate 519(B1) 7 Offset 192 Decorate 519(B1) Block Decorate 521 DescriptorSet 0 Decorate 522(sf16) SpecId 100 Decorate 523(sf) SpecId 101 Decorate 524(sd) SpecId 102 2: TypeVoid 3: TypeFunction 2 26: TypeFloat 32 27: TypeVector 26(float) 2 28: TypePointer Function 27(fvec2) 30: 26(float) Constant 897988541 31: TypeInt 32 0 32: 31(int) Constant 0 33: TypePointer Function 26(float) 35: 26(float) Constant 3196059648 36: 26(float) Constant 1022739087 37: 27(fvec2) ConstantComposite 35 36 54: 26(float) Constant 1065353216 60: TypeMatrix 27(fvec2) 2 61: TypePointer Function 60 88: 31(int) Constant 1 107: TypeBool 108: TypePointer Function 107(bool) 149: TypeFloat 64 150: TypeVector 149(float) 3 151: TypePointer Function 150(fvec3) 153: TypeVector 26(float) 3 154: TypePointer Function 153(fvec3) 158: TypeVector 107(bool) 3 159: TypePointer Function 158(bvec3) 162: 26(float) Constant 0 163: 153(fvec3) ConstantComposite 162 162 162 164: 153(fvec3) ConstantComposite 54 54 54 172: TypeFloat 16 173: TypeVector 172(float) 3 174: TypePointer Function 173(fvec3) 180: TypeInt 8 1 181: TypeVector 180(int) 3 182: TypePointer Function 181(ivec3) 186: TypeInt 16 1 187: TypeVector 186(int) 3 188: TypePointer Function 187(ivec3) 192: TypeInt 32 1 193: TypeVector 192(int) 3 194: TypePointer Function 193(ivec3) 198: TypeInt 64 1 199: TypeVector 198(int) 3 200: TypePointer Function 199(ivec3) 207: TypeInt 16 0 208: TypeVector 207(int) 3 209: TypePointer Function 208(ivec3) 213: TypeVector 31(int) 3 214: TypePointer Function 213(ivec3) 218: TypeInt 64 0 219: TypeVector 218(int) 3 220: TypePointer Function 219(ivec3) 224: TypeVector 26(float) 4 225: TypePointer Function 224(fvec4) 374(ResType): TypeStruct 153(fvec3) 193(ivec3) 409: TypeMatrix 153(fvec3) 2 410: TypePointer Function 409 428: TypeMatrix 27(fvec2) 3 429: TypePointer Function 428 434: TypeMatrix 153(fvec3) 3 435: TypePointer Function 434 439: TypeMatrix 224(fvec4) 4 440: TypePointer Function 439 467: TypePointer Input 153(fvec3) 468(if32v): 467(ptr) Variable Input 469: TypePointer Input 26(float) 506: 192(int) Constant 1 511: 26(float) Constant 1056964608 512: 27(fvec2) ConstantComposite 511 511 514: 31(int) Constant 2 515: TypeArray 26(float) 514 516: TypeArray 409 514 517(S): TypeStruct 26(float) 27(fvec2) 153(fvec3) 518: TypeArray 517(S) 514 519(B1): TypeStruct 26(float) 27(fvec2) 153(fvec3) 515 409 516 517(S) 518 520: TypePointer Uniform 519(B1) 521: 520(ptr) Variable Uniform 522(sf16): 172(float) SpecConstant 12288 523(sf): 26(float) SpecConstant 1048576000 524(sd): 149(float) SpecConstant 0 1071644672 525: 26(float) SpecConstantOp 115 522(sf16) 526: 26(float) SpecConstantOp 115 522(sf16) 527: 149(float) SpecConstantOp 115 526 528: 172(float) SpecConstantOp 115 523(sf) 529: 172(float) SpecConstantOp 115 524(sd) 4(main): 2 Function None 3 5: Label Return FunctionEnd 6(literal(): 2 Function None 3 7: Label 29(f32v): 28(ptr) Variable Function 34: 33(ptr) AccessChain 29(f32v) 32 Store 34 30 38: 27(fvec2) Load 29(f32v) 39: 27(fvec2) FAdd 38 37 Store 29(f32v) 39 Return FunctionEnd 8(operators(): 2 Function None 3 9: Label 40(f32v): 28(ptr) Variable Function 62(f32m): 61(ptr) Variable Function 85(f32): 33(ptr) Variable Function 109(b): 108(ptr) Variable Function 41: 27(fvec2) Load 40(f32v) 42: 27(fvec2) Load 40(f32v) 43: 27(fvec2) FAdd 42 41 Store 40(f32v) 43 44: 27(fvec2) Load 40(f32v) 45: 27(fvec2) Load 40(f32v) 46: 27(fvec2) FSub 45 44 Store 40(f32v) 46 47: 27(fvec2) Load 40(f32v) 48: 27(fvec2) Load 40(f32v) 49: 27(fvec2) FMul 48 47 Store 40(f32v) 49 50: 27(fvec2) Load 40(f32v) 51: 27(fvec2) Load 40(f32v) 52: 27(fvec2) FDiv 51 50 Store 40(f32v) 52 53: 27(fvec2) Load 40(f32v) 55: 27(fvec2) CompositeConstruct 54 54 56: 27(fvec2) FAdd 53 55 Store 40(f32v) 56 57: 27(fvec2) Load 40(f32v) 58: 27(fvec2) CompositeConstruct 54 54 59: 27(fvec2) FSub 57 58 Store 40(f32v) 59 63: 60 Load 62(f32m) 64: 27(fvec2) CompositeConstruct 54 54 65: 27(fvec2) CompositeExtract 63 0 66: 27(fvec2) FAdd 65 64 67: 27(fvec2) CompositeExtract 63 1 68: 27(fvec2) FAdd 67 64 69: 60 CompositeConstruct 66 68 Store 62(f32m) 69 70: 60 Load 62(f32m) 71: 27(fvec2) CompositeConstruct 54 54 72: 27(fvec2) CompositeExtract 70 0 73: 27(fvec2) FSub 72 71 74: 27(fvec2) CompositeExtract 70 1 75: 27(fvec2) FSub 74 71 76: 60 CompositeConstruct 73 75 Store 62(f32m) 76 77: 27(fvec2) Load 40(f32v) 78: 27(fvec2) FNegate 77 Store 40(f32v) 78 79: 60 Load 62(f32m) 80: 27(fvec2) CompositeExtract 79 0 81: 27(fvec2) FNegate 80 82: 27(fvec2) CompositeExtract 79 1 83: 27(fvec2) FNegate 82 84: 60 CompositeConstruct 81 83 Store 62(f32m) 84 86: 33(ptr) AccessChain 40(f32v) 32 87: 26(float) Load 86 89: 33(ptr) AccessChain 40(f32v) 88 90: 26(float) Load 89 91: 26(float) FAdd 87 90 Store 85(f32) 91 92: 33(ptr) AccessChain 40(f32v) 32 93: 26(float) Load 92 94: 33(ptr) AccessChain 40(f32v) 88 95: 26(float) Load 94 96: 26(float) FSub 93 95 Store 85(f32) 96 97: 33(ptr) AccessChain 40(f32v) 32 98: 26(float) Load 97 99: 33(ptr) AccessChain 40(f32v) 88 100: 26(float) Load 99 101: 26(float) FMul 98 100 Store 85(f32) 101 102: 33(ptr) AccessChain 40(f32v) 32 103: 26(float) Load 102 104: 33(ptr) AccessChain 40(f32v) 88 105: 26(float) Load 104 106: 26(float) FDiv 103 105 Store 85(f32) 106 110: 33(ptr) AccessChain 40(f32v) 32 111: 26(float) Load 110 112: 26(float) Load 85(f32) 113: 107(bool) FOrdNotEqual 111 112 Store 109(b) 113 114: 33(ptr) AccessChain 40(f32v) 88 115: 26(float) Load 114 116: 26(float) Load 85(f32) 117: 107(bool) FOrdEqual 115 116 Store 109(b) 117 118: 33(ptr) AccessChain 40(f32v) 32 119: 26(float) Load 118 120: 26(float) Load 85(f32) 121: 107(bool) FOrdGreaterThan 119 120 Store 109(b) 121 122: 33(ptr) AccessChain 40(f32v) 88 123: 26(float) Load 122 124: 26(float) Load 85(f32) 125: 107(bool) FOrdLessThan 123 124 Store 109(b) 125 126: 33(ptr) AccessChain 40(f32v) 32 127: 26(float) Load 126 128: 26(float) Load 85(f32) 129: 107(bool) FOrdGreaterThanEqual 127 128 Store 109(b) 129 130: 33(ptr) AccessChain 40(f32v) 88 131: 26(float) Load 130 132: 26(float) Load 85(f32) 133: 107(bool) FOrdLessThanEqual 131 132 Store 109(b) 133 134: 27(fvec2) Load 40(f32v) 135: 26(float) Load 85(f32) 136: 27(fvec2) VectorTimesScalar 134 135 Store 40(f32v) 136 137: 60 Load 62(f32m) 138: 26(float) Load 85(f32) 139: 60 MatrixTimesScalar 137 138 Store 62(f32m) 139 140: 60 Load 62(f32m) 141: 27(fvec2) Load 40(f32v) 142: 27(fvec2) MatrixTimesVector 140 141 Store 40(f32v) 142 143: 27(fvec2) Load 40(f32v) 144: 60 Load 62(f32m) 145: 27(fvec2) VectorTimesMatrix 143 144 Store 40(f32v) 145 146: 60 Load 62(f32m) 147: 60 Load 62(f32m) 148: 60 MatrixTimesMatrix 146 147 Store 62(f32m) 148 Return FunctionEnd 10(typeCast(): 2 Function None 3 11: Label 152(f64v): 151(ptr) Variable Function 155(f32v): 154(ptr) Variable Function 160(bv): 159(ptr) Variable Function 175(f16v): 174(ptr) Variable Function 183(i8v): 182(ptr) Variable Function 189(i16v): 188(ptr) Variable Function 195(i32v): 194(ptr) Variable Function 201(i64v): 200(ptr) Variable Function 204(u8v): 182(ptr) Variable Function 210(u16v): 209(ptr) Variable Function 215(u32v): 214(ptr) Variable Function 221(u64v): 220(ptr) Variable Function 156: 153(fvec3) Load 155(f32v) 157: 150(fvec3) FConvert 156 Store 152(f64v) 157 161: 158(bvec3) Load 160(bv) 165: 153(fvec3) Select 161 164 163 Store 155(f32v) 165 166: 153(fvec3) Load 155(f32v) 167: 158(bvec3) FOrdNotEqual 166 163 Store 160(bv) 167 168: 150(fvec3) Load 152(f64v) 169: 153(fvec3) FConvert 168 Store 155(f32v) 169 170: 153(fvec3) Load 155(f32v) 171: 150(fvec3) FConvert 170 Store 152(f64v) 171 176: 173(fvec3) Load 175(f16v) 177: 153(fvec3) FConvert 176 Store 155(f32v) 177 178: 153(fvec3) Load 155(f32v) 179: 173(fvec3) FConvert 178 Store 175(f16v) 179 184: 153(fvec3) Load 155(f32v) 185: 181(ivec3) ConvertFToS 184 Store 183(i8v) 185 190: 153(fvec3) Load 155(f32v) 191: 187(ivec3) ConvertFToS 190 Store 189(i16v) 191 196: 153(fvec3) Load 155(f32v) 197: 193(ivec3) ConvertFToS 196 Store 195(i32v) 197 202: 153(fvec3) Load 155(f32v) 203: 199(ivec3) ConvertFToS 202 Store 201(i64v) 203 205: 153(fvec3) Load 155(f32v) 206: 181(ivec3) ConvertFToS 205 Store 204(u8v) 206 211: 153(fvec3) Load 155(f32v) 212: 208(ivec3) ConvertFToU 211 Store 210(u16v) 212 216: 153(fvec3) Load 155(f32v) 217: 213(ivec3) ConvertFToU 216 Store 215(u32v) 217 222: 153(fvec3) Load 155(f32v) 223: 219(ivec3) ConvertFToU 222 Store 221(u64v) 223 Return FunctionEnd 12(builtinAngleTrigFuncs(): 2 Function None 3 13: Label 226(f32v2): 225(ptr) Variable Function 227(f32v1): 225(ptr) Variable Function 228: 224(fvec4) Load 227(f32v1) 229: 224(fvec4) ExtInst 1(GLSL.std.450) 11(Radians) 228 Store 226(f32v2) 229 230: 224(fvec4) Load 227(f32v1) 231: 224(fvec4) ExtInst 1(GLSL.std.450) 12(Degrees) 230 Store 226(f32v2) 231 232: 224(fvec4) Load 227(f32v1) 233: 224(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 232 Store 226(f32v2) 233 234: 224(fvec4) Load 227(f32v1) 235: 224(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 234 Store 226(f32v2) 235 236: 224(fvec4) Load 227(f32v1) 237: 224(fvec4) ExtInst 1(GLSL.std.450) 15(Tan) 236 Store 226(f32v2) 237 238: 224(fvec4) Load 227(f32v1) 239: 224(fvec4) ExtInst 1(GLSL.std.450) 16(Asin) 238 Store 226(f32v2) 239 240: 224(fvec4) Load 227(f32v1) 241: 224(fvec4) ExtInst 1(GLSL.std.450) 17(Acos) 240 Store 226(f32v2) 241 242: 224(fvec4) Load 227(f32v1) 243: 224(fvec4) Load 226(f32v2) 244: 224(fvec4) ExtInst 1(GLSL.std.450) 25(Atan2) 242 243 Store 226(f32v2) 244 245: 224(fvec4) Load 227(f32v1) 246: 224(fvec4) ExtInst 1(GLSL.std.450) 18(Atan) 245 Store 226(f32v2) 246 247: 224(fvec4) Load 227(f32v1) 248: 224(fvec4) ExtInst 1(GLSL.std.450) 19(Sinh) 247 Store 226(f32v2) 248 249: 224(fvec4) Load 227(f32v1) 250: 224(fvec4) ExtInst 1(GLSL.std.450) 20(Cosh) 249 Store 226(f32v2) 250 251: 224(fvec4) Load 227(f32v1) 252: 224(fvec4) ExtInst 1(GLSL.std.450) 21(Tanh) 251 Store 226(f32v2) 252 253: 224(fvec4) Load 227(f32v1) 254: 224(fvec4) ExtInst 1(GLSL.std.450) 22(Asinh) 253 Store 226(f32v2) 254 255: 224(fvec4) Load 227(f32v1) 256: 224(fvec4) ExtInst 1(GLSL.std.450) 23(Acosh) 255 Store 226(f32v2) 256 257: 224(fvec4) Load 227(f32v1) 258: 224(fvec4) ExtInst 1(GLSL.std.450) 24(Atanh) 257 Store 226(f32v2) 258 Return FunctionEnd 14(builtinExpFuncs(): 2 Function None 3 15: Label 259(f32v2): 28(ptr) Variable Function 260(f32v1): 28(ptr) Variable Function 261: 27(fvec2) Load 260(f32v1) 262: 27(fvec2) Load 259(f32v2) 263: 27(fvec2) ExtInst 1(GLSL.std.450) 26(Pow) 261 262 Store 259(f32v2) 263 264: 27(fvec2) Load 260(f32v1) 265: 27(fvec2) ExtInst 1(GLSL.std.450) 27(Exp) 264 Store 259(f32v2) 265 266: 27(fvec2) Load 260(f32v1) 267: 27(fvec2) ExtInst 1(GLSL.std.450) 28(Log) 266 Store 259(f32v2) 267 268: 27(fvec2) Load 260(f32v1) 269: 27(fvec2) ExtInst 1(GLSL.std.450) 29(Exp2) 268 Store 259(f32v2) 269 270: 27(fvec2) Load 260(f32v1) 271: 27(fvec2) ExtInst 1(GLSL.std.450) 30(Log2) 270 Store 259(f32v2) 271 272: 27(fvec2) Load 260(f32v1) 273: 27(fvec2) ExtInst 1(GLSL.std.450) 31(Sqrt) 272 Store 259(f32v2) 273 274: 27(fvec2) Load 260(f32v1) 275: 27(fvec2) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 274 Store 259(f32v2) 275 Return FunctionEnd 16(builtinCommonFuncs(): 2 Function None 3 17: Label 276(f32v2): 154(ptr) Variable Function 277(f32v1): 154(ptr) Variable Function 298(f32): 33(ptr) Variable Function 302(f32v3): 154(ptr) Variable Function 342(bv): 159(ptr) Variable Function 363(b): 108(ptr) Variable Function 373(iv): 194(ptr) Variable Function 278: 153(fvec3) Load 277(f32v1) 279: 153(fvec3) ExtInst 1(GLSL.std.450) 4(FAbs) 278 Store 276(f32v2) 279 280: 153(fvec3) Load 277(f32v1) 281: 153(fvec3) ExtInst 1(GLSL.std.450) 6(FSign) 280 Store 276(f32v2) 281 282: 153(fvec3) Load 277(f32v1) 283: 153(fvec3) ExtInst 1(GLSL.std.450) 8(Floor) 282 Store 276(f32v2) 283 284: 153(fvec3) Load 277(f32v1) 285: 153(fvec3) ExtInst 1(GLSL.std.450) 3(Trunc) 284 Store 276(f32v2) 285 286: 153(fvec3) Load 277(f32v1) 287: 153(fvec3) ExtInst 1(GLSL.std.450) 1(Round) 286 Store 276(f32v2) 287 288: 153(fvec3) Load 277(f32v1) 289: 153(fvec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 288 Store 276(f32v2) 289 290: 153(fvec3) Load 277(f32v1) 291: 153(fvec3) ExtInst 1(GLSL.std.450) 9(Ceil) 290 Store 276(f32v2) 291 292: 153(fvec3) Load 277(f32v1) 293: 153(fvec3) ExtInst 1(GLSL.std.450) 10(Fract) 292 Store 276(f32v2) 293 294: 153(fvec3) Load 277(f32v1) 295: 153(fvec3) Load 276(f32v2) 296: 153(fvec3) FMod 294 295 Store 276(f32v2) 296 297: 153(fvec3) Load 277(f32v1) 299: 26(float) Load 298(f32) 300: 153(fvec3) CompositeConstruct 299 299 299 301: 153(fvec3) FMod 297 300 Store 276(f32v2) 301 303: 153(fvec3) Load 277(f32v1) 304: 153(fvec3) ExtInst 1(GLSL.std.450) 35(Modf) 303 276(f32v2) Store 302(f32v3) 304 305: 153(fvec3) Load 277(f32v1) 306: 153(fvec3) Load 276(f32v2) 307: 153(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 305 306 Store 302(f32v3) 307 308: 153(fvec3) Load 277(f32v1) 309: 26(float) Load 298(f32) 310: 153(fvec3) CompositeConstruct 309 309 309 311: 153(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 308 310 Store 302(f32v3) 311 312: 153(fvec3) Load 277(f32v1) 313: 153(fvec3) Load 276(f32v2) 314: 153(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 312 313 Store 302(f32v3) 314 315: 153(fvec3) Load 277(f32v1) 316: 26(float) Load 298(f32) 317: 153(fvec3) CompositeConstruct 316 316 316 318: 153(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 315 317 Store 302(f32v3) 318 319: 153(fvec3) Load 277(f32v1) 320: 26(float) Load 298(f32) 321: 33(ptr) AccessChain 276(f32v2) 32 322: 26(float) Load 321 323: 153(fvec3) CompositeConstruct 320 320 320 324: 153(fvec3) CompositeConstruct 322 322 322 325: 153(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 319 323 324 Store 302(f32v3) 325 326: 153(fvec3) Load 277(f32v1) 327: 153(fvec3) Load 276(f32v2) 328: 26(float) Load 298(f32) 329: 153(fvec3) CompositeConstruct 328 328 328 330: 153(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 326 327 329 Store 302(f32v3) 330 331: 153(fvec3) Load 277(f32v1) 332: 153(fvec3) Load 276(f32v2) 333: 26(float) Load 298(f32) 334: 153(fvec3) CompositeConstruct 333 333 333 335: 153(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 331 332 334 Store 302(f32v3) 335 336: 153(fvec3) Load 277(f32v1) 337: 153(fvec3) Load 276(f32v2) 338: 153(fvec3) Load 302(f32v3) 339: 153(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 336 337 338 Store 302(f32v3) 339 340: 153(fvec3) Load 277(f32v1) 341: 153(fvec3) Load 276(f32v2) 343: 158(bvec3) Load 342(bv) 344: 153(fvec3) Select 343 341 340 Store 302(f32v3) 344 345: 153(fvec3) Load 277(f32v1) 346: 153(fvec3) Load 276(f32v2) 347: 153(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 345 346 Store 302(f32v3) 347 348: 26(float) Load 298(f32) 349: 153(fvec3) Load 302(f32v3) 350: 153(fvec3) CompositeConstruct 348 348 348 351: 153(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 350 349 Store 302(f32v3) 351 352: 153(fvec3) Load 277(f32v1) 353: 153(fvec3) Load 276(f32v2) 354: 153(fvec3) Load 302(f32v3) 355: 153(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 352 353 354 Store 302(f32v3) 355 356: 26(float) Load 298(f32) 357: 33(ptr) AccessChain 277(f32v1) 32 358: 26(float) Load 357 359: 153(fvec3) Load 276(f32v2) 360: 153(fvec3) CompositeConstruct 356 356 356 361: 153(fvec3) CompositeConstruct 358 358 358 362: 153(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 360 361 359 Store 302(f32v3) 362 364: 26(float) Load 298(f32) 365: 107(bool) IsNan 364 Store 363(b) 365 366: 153(fvec3) Load 277(f32v1) 367: 158(bvec3) IsInf 366 Store 342(bv) 367 368: 153(fvec3) Load 277(f32v1) 369: 153(fvec3) Load 276(f32v2) 370: 153(fvec3) Load 302(f32v3) 371: 153(fvec3) ExtInst 1(GLSL.std.450) 50(Fma) 368 369 370 Store 302(f32v3) 371 372: 153(fvec3) Load 277(f32v1) 375:374(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 372 376: 193(ivec3) CompositeExtract 375 1 Store 373(iv) 376 377: 153(fvec3) CompositeExtract 375 0 Store 276(f32v2) 377 378: 153(fvec3) Load 277(f32v1) 379: 193(ivec3) Load 373(iv) 380: 153(fvec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 378 379 Store 276(f32v2) 380 Return FunctionEnd 18(builtinGeometryFuncs(): 2 Function None 3 19: Label 381(f32): 33(ptr) Variable Function 382(f32v1): 154(ptr) Variable Function 386(f32v2): 154(ptr) Variable Function 392(f32v3): 154(ptr) Variable Function 383: 153(fvec3) Load 382(f32v1) 384: 26(float) ExtInst 1(GLSL.std.450) 66(Length) 383 Store 381(f32) 384 385: 153(fvec3) Load 382(f32v1) 387: 153(fvec3) Load 386(f32v2) 388: 26(float) ExtInst 1(GLSL.std.450) 67(Distance) 385 387 Store 381(f32) 388 389: 153(fvec3) Load 382(f32v1) 390: 153(fvec3) Load 386(f32v2) 391: 26(float) Dot 389 390 Store 381(f32) 391 393: 153(fvec3) Load 382(f32v1) 394: 153(fvec3) Load 386(f32v2) 395: 153(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 393 394 Store 392(f32v3) 395 396: 153(fvec3) Load 382(f32v1) 397: 153(fvec3) ExtInst 1(GLSL.std.450) 69(Normalize) 396 Store 386(f32v2) 397 398: 153(fvec3) Load 382(f32v1) 399: 153(fvec3) Load 386(f32v2) 400: 153(fvec3) Load 392(f32v3) 401: 153(fvec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 398 399 400 Store 392(f32v3) 401 402: 153(fvec3) Load 382(f32v1) 403: 153(fvec3) Load 386(f32v2) 404: 153(fvec3) ExtInst 1(GLSL.std.450) 71(Reflect) 402 403 Store 392(f32v3) 404 405: 153(fvec3) Load 382(f32v1) 406: 153(fvec3) Load 386(f32v2) 407: 26(float) Load 381(f32) 408: 153(fvec3) ExtInst 1(GLSL.std.450) 72(Refract) 405 406 407 Store 392(f32v3) 408 Return FunctionEnd 20(builtinMatrixFuncs(): 2 Function None 3 21: Label 411(f32m3): 410(ptr) Variable Function 412(f32m1): 410(ptr) Variable Function 414(f32m2): 410(ptr) Variable Function 423(f32v1): 154(ptr) Variable Function 425(f32v2): 28(ptr) Variable Function 430(f32m4): 429(ptr) Variable Function 433(f32): 33(ptr) Variable Function 436(f32m5): 435(ptr) Variable Function 441(f32m6): 440(ptr) Variable Function 442(f32m7): 440(ptr) Variable Function 413: 409 Load 412(f32m1) 415: 409 Load 414(f32m2) 416: 153(fvec3) CompositeExtract 413 0 417: 153(fvec3) CompositeExtract 415 0 418: 153(fvec3) FMul 416 417 419: 153(fvec3) CompositeExtract 413 1 420: 153(fvec3) CompositeExtract 415 1 421: 153(fvec3) FMul 419 420 422: 409 CompositeConstruct 418 421 Store 411(f32m3) 422 424: 153(fvec3) Load 423(f32v1) 426: 27(fvec2) Load 425(f32v2) 427: 409 OuterProduct 424 426 Store 412(f32m1) 427 431: 409 Load 412(f32m1) 432: 428 Transpose 431 Store 430(f32m4) 432 437: 434 Load 436(f32m5) 438: 26(float) ExtInst 1(GLSL.std.450) 33(Determinant) 437 Store 433(f32) 438 443: 439 Load 442(f32m7) 444: 439 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 443 Store 441(f32m6) 444 Return FunctionEnd 22(builtinVecRelFuncs(): 2 Function None 3 23: Label 445(bv): 159(ptr) Variable Function 446(f32v1): 154(ptr) Variable Function 448(f32v2): 154(ptr) Variable Function 447: 153(fvec3) Load 446(f32v1) 449: 153(fvec3) Load 448(f32v2) 450: 158(bvec3) FOrdLessThan 447 449 Store 445(bv) 450 451: 153(fvec3) Load 446(f32v1) 452: 153(fvec3) Load 448(f32v2) 453: 158(bvec3) FOrdLessThanEqual 451 452 Store 445(bv) 453 454: 153(fvec3) Load 446(f32v1) 455: 153(fvec3) Load 448(f32v2) 456: 158(bvec3) FOrdGreaterThan 454 455 Store 445(bv) 456 457: 153(fvec3) Load 446(f32v1) 458: 153(fvec3) Load 448(f32v2) 459: 158(bvec3) FOrdGreaterThanEqual 457 458 Store 445(bv) 459 460: 153(fvec3) Load 446(f32v1) 461: 153(fvec3) Load 448(f32v2) 462: 158(bvec3) FOrdEqual 460 461 Store 445(bv) 462 463: 153(fvec3) Load 446(f32v1) 464: 153(fvec3) Load 448(f32v2) 465: 158(bvec3) FOrdNotEqual 463 464 Store 445(bv) 465 Return FunctionEnd 24(builtinFragProcFuncs(): 2 Function None 3 25: Label 466(f32v): 154(ptr) Variable Function 470: 469(ptr) AccessChain 468(if32v) 32 471: 26(float) Load 470 472: 26(float) DPdx 471 473: 33(ptr) AccessChain 466(f32v) 32 Store 473 472 474: 469(ptr) AccessChain 468(if32v) 88 475: 26(float) Load 474 476: 26(float) DPdy 475 477: 33(ptr) AccessChain 466(f32v) 88 Store 477 476 478: 153(fvec3) Load 468(if32v) 479: 27(fvec2) VectorShuffle 478 478 0 1 480: 27(fvec2) DPdxFine 479 481: 153(fvec3) Load 466(f32v) 482: 153(fvec3) VectorShuffle 481 480 3 4 2 Store 466(f32v) 482 483: 153(fvec3) Load 468(if32v) 484: 27(fvec2) VectorShuffle 483 483 0 1 485: 27(fvec2) DPdyFine 484 486: 153(fvec3) Load 466(f32v) 487: 153(fvec3) VectorShuffle 486 485 3 4 2 Store 466(f32v) 487 488: 153(fvec3) Load 468(if32v) 489: 153(fvec3) DPdxCoarse 488 Store 466(f32v) 489 490: 153(fvec3) Load 468(if32v) 491: 153(fvec3) DPdxCoarse 490 Store 466(f32v) 491 492: 469(ptr) AccessChain 468(if32v) 32 493: 26(float) Load 492 494: 26(float) Fwidth 493 495: 33(ptr) AccessChain 466(f32v) 32 Store 495 494 496: 153(fvec3) Load 468(if32v) 497: 27(fvec2) VectorShuffle 496 496 0 1 498: 27(fvec2) FwidthFine 497 499: 153(fvec3) Load 466(f32v) 500: 153(fvec3) VectorShuffle 499 498 3 4 2 Store 466(f32v) 500 501: 153(fvec3) Load 468(if32v) 502: 153(fvec3) FwidthCoarse 501 Store 466(f32v) 502 503: 469(ptr) AccessChain 468(if32v) 32 504: 26(float) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 503 505: 33(ptr) AccessChain 466(f32v) 32 Store 505 504 507: 153(fvec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 468(if32v) 506 508: 27(fvec2) VectorShuffle 507 507 0 1 509: 153(fvec3) Load 466(f32v) 510: 153(fvec3) VectorShuffle 509 508 3 4 2 Store 466(f32v) 510 513: 153(fvec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 468(if32v) 512 Store 466(f32v) 513 Return FunctionEnd