spv.float32.frag // Module Version 10300 // Generated by (magic number): 80007 // Id's are bound by 533 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" 471 ExecutionMode 4 OriginUpperLeft Source GLSL 450 SourceExtension "GL_EXT_shader_explicit_arithmetic_types" SourceExtension "GL_EXT_shader_explicit_arithmetic_types_float16" SourceExtension "GL_EXT_shader_explicit_arithmetic_types_float32" SourceExtension "GL_EXT_shader_explicit_arithmetic_types_float64" SourceExtension "GL_EXT_shader_explicit_arithmetic_types_int16" SourceExtension "GL_EXT_shader_explicit_arithmetic_types_int32" SourceExtension "GL_EXT_shader_explicit_arithmetic_types_int64" SourceExtension "GL_EXT_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 207 "u8v" Name 213 "u16v" Name 218 "u32v" Name 224 "u64v" Name 229 "f32v2" Name 230 "f32v1" Name 262 "f32v2" Name 263 "f32v1" Name 279 "f32v2" Name 280 "f32v1" Name 301 "f32" Name 305 "f32v3" Name 345 "bv" Name 366 "b" Name 376 "iv" Name 377 "ResType" Name 384 "f32" Name 385 "f32v1" Name 389 "f32v2" Name 395 "f32v3" Name 414 "f32m3" Name 415 "f32m1" Name 417 "f32m2" Name 426 "f32v1" Name 428 "f32v2" Name 433 "f32m4" Name 436 "f32" Name 439 "f32m5" Name 444 "f32m6" Name 445 "f32m7" Name 448 "bv" Name 449 "f32v1" Name 451 "f32v2" Name 469 "f32v" Name 471 "if32v" Name 520 "S" MemberName 520(S) 0 "x" MemberName 520(S) 1 "y" MemberName 520(S) 2 "z" Name 522 "B1" MemberName 522(B1) 0 "a" MemberName 522(B1) 1 "b" MemberName 522(B1) 2 "c" MemberName 522(B1) 3 "d" MemberName 522(B1) 4 "e" MemberName 522(B1) 5 "f" MemberName 522(B1) 6 "g" MemberName 522(B1) 7 "h" Name 524 "" Name 525 "sf16" Name 526 "sf" Name 527 "sd" Name 528 "f16_to_f" Name 530 "f16_to_d" Name 531 "f_to_f16" Name 532 "d_to_f16" Decorate 518 ArrayStride 16 Decorate 519 ArrayStride 32 MemberDecorate 520(S) 0 Offset 0 MemberDecorate 520(S) 1 Offset 8 MemberDecorate 520(S) 2 Offset 16 Decorate 521 ArrayStride 32 MemberDecorate 522(B1) 0 Offset 0 MemberDecorate 522(B1) 1 Offset 8 MemberDecorate 522(B1) 2 Offset 16 MemberDecorate 522(B1) 3 Offset 32 MemberDecorate 522(B1) 4 ColMajor MemberDecorate 522(B1) 4 Offset 64 MemberDecorate 522(B1) 4 MatrixStride 16 MemberDecorate 522(B1) 5 ColMajor MemberDecorate 522(B1) 5 Offset 96 MemberDecorate 522(B1) 5 MatrixStride 16 MemberDecorate 522(B1) 6 Offset 160 MemberDecorate 522(B1) 7 Offset 192 Decorate 522(B1) Block Decorate 524 DescriptorSet 0 Decorate 524 Binding 0 Decorate 525(sf16) SpecId 100 Decorate 526(sf) SpecId 101 Decorate 527(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(float64_t) 3 151: TypePointer Function 150(f64vec3) 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(float16_t) 3 174: TypePointer Function 173(f16vec3) 180: TypeInt 8 1 181: TypeVector 180(int8_t) 3 182: TypePointer Function 181(i8vec3) 186: TypeInt 16 1 187: TypeVector 186(int16_t) 3 188: TypePointer Function 187(i16vec3) 192: TypeInt 32 1 193: TypeVector 192(int) 3 194: TypePointer Function 193(ivec3) 198: TypeInt 64 1 199: TypeVector 198(int64_t) 3 200: TypePointer Function 199(i64vec3) 204: TypeInt 8 0 205: TypeVector 204(int8_t) 3 206: TypePointer Function 205(i8vec3) 210: TypeInt 16 0 211: TypeVector 210(int16_t) 3 212: TypePointer Function 211(i16vec3) 216: TypeVector 31(int) 3 217: TypePointer Function 216(ivec3) 221: TypeInt 64 0 222: TypeVector 221(int64_t) 3 223: TypePointer Function 222(i64vec3) 227: TypeVector 26(float) 4 228: TypePointer Function 227(fvec4) 377(ResType): TypeStruct 153(fvec3) 193(ivec3) 412: TypeMatrix 153(fvec3) 2 413: TypePointer Function 412 431: TypeMatrix 27(fvec2) 3 432: TypePointer Function 431 437: TypeMatrix 153(fvec3) 3 438: TypePointer Function 437 442: TypeMatrix 227(fvec4) 4 443: TypePointer Function 442 470: TypePointer Input 153(fvec3) 471(if32v): 470(ptr) Variable Input 472: TypePointer Input 26(float) 509: 192(int) Constant 1 514: 26(float) Constant 1056964608 515: 27(fvec2) ConstantComposite 514 514 517: 31(int) Constant 2 518: TypeArray 26(float) 517 519: TypeArray 412 517 520(S): TypeStruct 26(float) 27(fvec2) 153(fvec3) 521: TypeArray 520(S) 517 522(B1): TypeStruct 26(float) 27(fvec2) 153(fvec3) 518 412 519 520(S) 521 523: TypePointer Uniform 522(B1) 524: 523(ptr) Variable Uniform 525(sf16):172(float16_t) SpecConstant 12288 526(sf): 26(float) SpecConstant 1048576000 527(sd):149(float64_t) SpecConstant 0 1071644672 528(f16_to_f): 26(float) SpecConstantOp 115 525(sf16) 529: 26(float) SpecConstantOp 115 525(sf16) 530(f16_to_d):149(float64_t) SpecConstantOp 115 529 531(f_to_f16):172(float16_t) SpecConstantOp 115 526(sf) 532(d_to_f16):172(float16_t) SpecConstantOp 115 527(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 207(u8v): 206(ptr) Variable Function 213(u16v): 212(ptr) Variable Function 218(u32v): 217(ptr) Variable Function 224(u64v): 223(ptr) Variable Function 156: 153(fvec3) Load 155(f32v) 157:150(f64vec3) 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(f64vec3) Load 152(f64v) 169: 153(fvec3) FConvert 168 Store 155(f32v) 169 170: 153(fvec3) Load 155(f32v) 171:150(f64vec3) FConvert 170 Store 152(f64v) 171 176:173(f16vec3) Load 175(f16v) 177: 153(fvec3) FConvert 176 Store 155(f32v) 177 178: 153(fvec3) Load 155(f32v) 179:173(f16vec3) FConvert 178 Store 175(f16v) 179 184: 153(fvec3) Load 155(f32v) 185: 181(i8vec3) ConvertFToS 184 Store 183(i8v) 185 190: 153(fvec3) Load 155(f32v) 191:187(i16vec3) 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(i64vec3) ConvertFToS 202 Store 201(i64v) 203 208: 153(fvec3) Load 155(f32v) 209: 205(i8vec3) ConvertFToU 208 Store 207(u8v) 209 214: 153(fvec3) Load 155(f32v) 215:211(i16vec3) ConvertFToU 214 Store 213(u16v) 215 219: 153(fvec3) Load 155(f32v) 220: 216(ivec3) ConvertFToU 219 Store 218(u32v) 220 225: 153(fvec3) Load 155(f32v) 226:222(i64vec3) ConvertFToU 225 Store 224(u64v) 226 Return FunctionEnd 12(builtinAngleTrigFuncs(): 2 Function None 3 13: Label 229(f32v2): 228(ptr) Variable Function 230(f32v1): 228(ptr) Variable Function 231: 227(fvec4) Load 230(f32v1) 232: 227(fvec4) ExtInst 1(GLSL.std.450) 11(Radians) 231 Store 229(f32v2) 232 233: 227(fvec4) Load 230(f32v1) 234: 227(fvec4) ExtInst 1(GLSL.std.450) 12(Degrees) 233 Store 229(f32v2) 234 235: 227(fvec4) Load 230(f32v1) 236: 227(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 235 Store 229(f32v2) 236 237: 227(fvec4) Load 230(f32v1) 238: 227(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 237 Store 229(f32v2) 238 239: 227(fvec4) Load 230(f32v1) 240: 227(fvec4) ExtInst 1(GLSL.std.450) 15(Tan) 239 Store 229(f32v2) 240 241: 227(fvec4) Load 230(f32v1) 242: 227(fvec4) ExtInst 1(GLSL.std.450) 16(Asin) 241 Store 229(f32v2) 242 243: 227(fvec4) Load 230(f32v1) 244: 227(fvec4) ExtInst 1(GLSL.std.450) 17(Acos) 243 Store 229(f32v2) 244 245: 227(fvec4) Load 230(f32v1) 246: 227(fvec4) Load 229(f32v2) 247: 227(fvec4) ExtInst 1(GLSL.std.450) 25(Atan2) 245 246 Store 229(f32v2) 247 248: 227(fvec4) Load 230(f32v1) 249: 227(fvec4) ExtInst 1(GLSL.std.450) 18(Atan) 248 Store 229(f32v2) 249 250: 227(fvec4) Load 230(f32v1) 251: 227(fvec4) ExtInst 1(GLSL.std.450) 19(Sinh) 250 Store 229(f32v2) 251 252: 227(fvec4) Load 230(f32v1) 253: 227(fvec4) ExtInst 1(GLSL.std.450) 20(Cosh) 252 Store 229(f32v2) 253 254: 227(fvec4) Load 230(f32v1) 255: 227(fvec4) ExtInst 1(GLSL.std.450) 21(Tanh) 254 Store 229(f32v2) 255 256: 227(fvec4) Load 230(f32v1) 257: 227(fvec4) ExtInst 1(GLSL.std.450) 22(Asinh) 256 Store 229(f32v2) 257 258: 227(fvec4) Load 230(f32v1) 259: 227(fvec4) ExtInst 1(GLSL.std.450) 23(Acosh) 258 Store 229(f32v2) 259 260: 227(fvec4) Load 230(f32v1) 261: 227(fvec4) ExtInst 1(GLSL.std.450) 24(Atanh) 260 Store 229(f32v2) 261 Return FunctionEnd 14(builtinExpFuncs(): 2 Function None 3 15: Label 262(f32v2): 28(ptr) Variable Function 263(f32v1): 28(ptr) Variable Function 264: 27(fvec2) Load 263(f32v1) 265: 27(fvec2) Load 262(f32v2) 266: 27(fvec2) ExtInst 1(GLSL.std.450) 26(Pow) 264 265 Store 262(f32v2) 266 267: 27(fvec2) Load 263(f32v1) 268: 27(fvec2) ExtInst 1(GLSL.std.450) 27(Exp) 267 Store 262(f32v2) 268 269: 27(fvec2) Load 263(f32v1) 270: 27(fvec2) ExtInst 1(GLSL.std.450) 28(Log) 269 Store 262(f32v2) 270 271: 27(fvec2) Load 263(f32v1) 272: 27(fvec2) ExtInst 1(GLSL.std.450) 29(Exp2) 271 Store 262(f32v2) 272 273: 27(fvec2) Load 263(f32v1) 274: 27(fvec2) ExtInst 1(GLSL.std.450) 30(Log2) 273 Store 262(f32v2) 274 275: 27(fvec2) Load 263(f32v1) 276: 27(fvec2) ExtInst 1(GLSL.std.450) 31(Sqrt) 275 Store 262(f32v2) 276 277: 27(fvec2) Load 263(f32v1) 278: 27(fvec2) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 277 Store 262(f32v2) 278 Return FunctionEnd 16(builtinCommonFuncs(): 2 Function None 3 17: Label 279(f32v2): 154(ptr) Variable Function 280(f32v1): 154(ptr) Variable Function 301(f32): 33(ptr) Variable Function 305(f32v3): 154(ptr) Variable Function 345(bv): 159(ptr) Variable Function 366(b): 108(ptr) Variable Function 376(iv): 194(ptr) Variable Function 281: 153(fvec3) Load 280(f32v1) 282: 153(fvec3) ExtInst 1(GLSL.std.450) 4(FAbs) 281 Store 279(f32v2) 282 283: 153(fvec3) Load 280(f32v1) 284: 153(fvec3) ExtInst 1(GLSL.std.450) 6(FSign) 283 Store 279(f32v2) 284 285: 153(fvec3) Load 280(f32v1) 286: 153(fvec3) ExtInst 1(GLSL.std.450) 8(Floor) 285 Store 279(f32v2) 286 287: 153(fvec3) Load 280(f32v1) 288: 153(fvec3) ExtInst 1(GLSL.std.450) 3(Trunc) 287 Store 279(f32v2) 288 289: 153(fvec3) Load 280(f32v1) 290: 153(fvec3) ExtInst 1(GLSL.std.450) 1(Round) 289 Store 279(f32v2) 290 291: 153(fvec3) Load 280(f32v1) 292: 153(fvec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 291 Store 279(f32v2) 292 293: 153(fvec3) Load 280(f32v1) 294: 153(fvec3) ExtInst 1(GLSL.std.450) 9(Ceil) 293 Store 279(f32v2) 294 295: 153(fvec3) Load 280(f32v1) 296: 153(fvec3) ExtInst 1(GLSL.std.450) 10(Fract) 295 Store 279(f32v2) 296 297: 153(fvec3) Load 280(f32v1) 298: 153(fvec3) Load 279(f32v2) 299: 153(fvec3) FMod 297 298 Store 279(f32v2) 299 300: 153(fvec3) Load 280(f32v1) 302: 26(float) Load 301(f32) 303: 153(fvec3) CompositeConstruct 302 302 302 304: 153(fvec3) FMod 300 303 Store 279(f32v2) 304 306: 153(fvec3) Load 280(f32v1) 307: 153(fvec3) ExtInst 1(GLSL.std.450) 35(Modf) 306 279(f32v2) Store 305(f32v3) 307 308: 153(fvec3) Load 280(f32v1) 309: 153(fvec3) Load 279(f32v2) 310: 153(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 308 309 Store 305(f32v3) 310 311: 153(fvec3) Load 280(f32v1) 312: 26(float) Load 301(f32) 313: 153(fvec3) CompositeConstruct 312 312 312 314: 153(fvec3) ExtInst 1(GLSL.std.450) 37(FMin) 311 313 Store 305(f32v3) 314 315: 153(fvec3) Load 280(f32v1) 316: 153(fvec3) Load 279(f32v2) 317: 153(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 315 316 Store 305(f32v3) 317 318: 153(fvec3) Load 280(f32v1) 319: 26(float) Load 301(f32) 320: 153(fvec3) CompositeConstruct 319 319 319 321: 153(fvec3) ExtInst 1(GLSL.std.450) 40(FMax) 318 320 Store 305(f32v3) 321 322: 153(fvec3) Load 280(f32v1) 323: 26(float) Load 301(f32) 324: 33(ptr) AccessChain 279(f32v2) 32 325: 26(float) Load 324 326: 153(fvec3) CompositeConstruct 323 323 323 327: 153(fvec3) CompositeConstruct 325 325 325 328: 153(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 322 326 327 Store 305(f32v3) 328 329: 153(fvec3) Load 280(f32v1) 330: 153(fvec3) Load 279(f32v2) 331: 26(float) Load 301(f32) 332: 153(fvec3) CompositeConstruct 331 331 331 333: 153(fvec3) ExtInst 1(GLSL.std.450) 43(FClamp) 329 330 332 Store 305(f32v3) 333 334: 153(fvec3) Load 280(f32v1) 335: 153(fvec3) Load 279(f32v2) 336: 26(float) Load 301(f32) 337: 153(fvec3) CompositeConstruct 336 336 336 338: 153(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 334 335 337 Store 305(f32v3) 338 339: 153(fvec3) Load 280(f32v1) 340: 153(fvec3) Load 279(f32v2) 341: 153(fvec3) Load 305(f32v3) 342: 153(fvec3) ExtInst 1(GLSL.std.450) 46(FMix) 339 340 341 Store 305(f32v3) 342 343: 153(fvec3) Load 280(f32v1) 344: 153(fvec3) Load 279(f32v2) 346: 158(bvec3) Load 345(bv) 347: 153(fvec3) Select 346 344 343 Store 305(f32v3) 347 348: 153(fvec3) Load 280(f32v1) 349: 153(fvec3) Load 279(f32v2) 350: 153(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 348 349 Store 305(f32v3) 350 351: 26(float) Load 301(f32) 352: 153(fvec3) Load 305(f32v3) 353: 153(fvec3) CompositeConstruct 351 351 351 354: 153(fvec3) ExtInst 1(GLSL.std.450) 48(Step) 353 352 Store 305(f32v3) 354 355: 153(fvec3) Load 280(f32v1) 356: 153(fvec3) Load 279(f32v2) 357: 153(fvec3) Load 305(f32v3) 358: 153(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 355 356 357 Store 305(f32v3) 358 359: 26(float) Load 301(f32) 360: 33(ptr) AccessChain 280(f32v1) 32 361: 26(float) Load 360 362: 153(fvec3) Load 279(f32v2) 363: 153(fvec3) CompositeConstruct 359 359 359 364: 153(fvec3) CompositeConstruct 361 361 361 365: 153(fvec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 363 364 362 Store 305(f32v3) 365 367: 26(float) Load 301(f32) 368: 107(bool) IsNan 367 Store 366(b) 368 369: 153(fvec3) Load 280(f32v1) 370: 158(bvec3) IsInf 369 Store 345(bv) 370 371: 153(fvec3) Load 280(f32v1) 372: 153(fvec3) Load 279(f32v2) 373: 153(fvec3) Load 305(f32v3) 374: 153(fvec3) ExtInst 1(GLSL.std.450) 50(Fma) 371 372 373 Store 305(f32v3) 374 375: 153(fvec3) Load 280(f32v1) 378:377(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 375 379: 193(ivec3) CompositeExtract 378 1 Store 376(iv) 379 380: 153(fvec3) CompositeExtract 378 0 Store 279(f32v2) 380 381: 153(fvec3) Load 280(f32v1) 382: 193(ivec3) Load 376(iv) 383: 153(fvec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 381 382 Store 279(f32v2) 383 Return FunctionEnd 18(builtinGeometryFuncs(): 2 Function None 3 19: Label 384(f32): 33(ptr) Variable Function 385(f32v1): 154(ptr) Variable Function 389(f32v2): 154(ptr) Variable Function 395(f32v3): 154(ptr) Variable Function 386: 153(fvec3) Load 385(f32v1) 387: 26(float) ExtInst 1(GLSL.std.450) 66(Length) 386 Store 384(f32) 387 388: 153(fvec3) Load 385(f32v1) 390: 153(fvec3) Load 389(f32v2) 391: 26(float) ExtInst 1(GLSL.std.450) 67(Distance) 388 390 Store 384(f32) 391 392: 153(fvec3) Load 385(f32v1) 393: 153(fvec3) Load 389(f32v2) 394: 26(float) Dot 392 393 Store 384(f32) 394 396: 153(fvec3) Load 385(f32v1) 397: 153(fvec3) Load 389(f32v2) 398: 153(fvec3) ExtInst 1(GLSL.std.450) 68(Cross) 396 397 Store 395(f32v3) 398 399: 153(fvec3) Load 385(f32v1) 400: 153(fvec3) ExtInst 1(GLSL.std.450) 69(Normalize) 399 Store 389(f32v2) 400 401: 153(fvec3) Load 385(f32v1) 402: 153(fvec3) Load 389(f32v2) 403: 153(fvec3) Load 395(f32v3) 404: 153(fvec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 401 402 403 Store 395(f32v3) 404 405: 153(fvec3) Load 385(f32v1) 406: 153(fvec3) Load 389(f32v2) 407: 153(fvec3) ExtInst 1(GLSL.std.450) 71(Reflect) 405 406 Store 395(f32v3) 407 408: 153(fvec3) Load 385(f32v1) 409: 153(fvec3) Load 389(f32v2) 410: 26(float) Load 384(f32) 411: 153(fvec3) ExtInst 1(GLSL.std.450) 72(Refract) 408 409 410 Store 395(f32v3) 411 Return FunctionEnd 20(builtinMatrixFuncs(): 2 Function None 3 21: Label 414(f32m3): 413(ptr) Variable Function 415(f32m1): 413(ptr) Variable Function 417(f32m2): 413(ptr) Variable Function 426(f32v1): 154(ptr) Variable Function 428(f32v2): 28(ptr) Variable Function 433(f32m4): 432(ptr) Variable Function 436(f32): 33(ptr) Variable Function 439(f32m5): 438(ptr) Variable Function 444(f32m6): 443(ptr) Variable Function 445(f32m7): 443(ptr) Variable Function 416: 412 Load 415(f32m1) 418: 412 Load 417(f32m2) 419: 153(fvec3) CompositeExtract 416 0 420: 153(fvec3) CompositeExtract 418 0 421: 153(fvec3) FMul 419 420 422: 153(fvec3) CompositeExtract 416 1 423: 153(fvec3) CompositeExtract 418 1 424: 153(fvec3) FMul 422 423 425: 412 CompositeConstruct 421 424 Store 414(f32m3) 425 427: 153(fvec3) Load 426(f32v1) 429: 27(fvec2) Load 428(f32v2) 430: 412 OuterProduct 427 429 Store 415(f32m1) 430 434: 412 Load 415(f32m1) 435: 431 Transpose 434 Store 433(f32m4) 435 440: 437 Load 439(f32m5) 441: 26(float) ExtInst 1(GLSL.std.450) 33(Determinant) 440 Store 436(f32) 441 446: 442 Load 445(f32m7) 447: 442 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 446 Store 444(f32m6) 447 Return FunctionEnd 22(builtinVecRelFuncs(): 2 Function None 3 23: Label 448(bv): 159(ptr) Variable Function 449(f32v1): 154(ptr) Variable Function 451(f32v2): 154(ptr) Variable Function 450: 153(fvec3) Load 449(f32v1) 452: 153(fvec3) Load 451(f32v2) 453: 158(bvec3) FOrdLessThan 450 452 Store 448(bv) 453 454: 153(fvec3) Load 449(f32v1) 455: 153(fvec3) Load 451(f32v2) 456: 158(bvec3) FOrdLessThanEqual 454 455 Store 448(bv) 456 457: 153(fvec3) Load 449(f32v1) 458: 153(fvec3) Load 451(f32v2) 459: 158(bvec3) FOrdGreaterThan 457 458 Store 448(bv) 459 460: 153(fvec3) Load 449(f32v1) 461: 153(fvec3) Load 451(f32v2) 462: 158(bvec3) FOrdGreaterThanEqual 460 461 Store 448(bv) 462 463: 153(fvec3) Load 449(f32v1) 464: 153(fvec3) Load 451(f32v2) 465: 158(bvec3) FOrdEqual 463 464 Store 448(bv) 465 466: 153(fvec3) Load 449(f32v1) 467: 153(fvec3) Load 451(f32v2) 468: 158(bvec3) FOrdNotEqual 466 467 Store 448(bv) 468 Return FunctionEnd 24(builtinFragProcFuncs(): 2 Function None 3 25: Label 469(f32v): 154(ptr) Variable Function 473: 472(ptr) AccessChain 471(if32v) 32 474: 26(float) Load 473 475: 26(float) DPdx 474 476: 33(ptr) AccessChain 469(f32v) 32 Store 476 475 477: 472(ptr) AccessChain 471(if32v) 88 478: 26(float) Load 477 479: 26(float) DPdy 478 480: 33(ptr) AccessChain 469(f32v) 88 Store 480 479 481: 153(fvec3) Load 471(if32v) 482: 27(fvec2) VectorShuffle 481 481 0 1 483: 27(fvec2) DPdxFine 482 484: 153(fvec3) Load 469(f32v) 485: 153(fvec3) VectorShuffle 484 483 3 4 2 Store 469(f32v) 485 486: 153(fvec3) Load 471(if32v) 487: 27(fvec2) VectorShuffle 486 486 0 1 488: 27(fvec2) DPdyFine 487 489: 153(fvec3) Load 469(f32v) 490: 153(fvec3) VectorShuffle 489 488 3 4 2 Store 469(f32v) 490 491: 153(fvec3) Load 471(if32v) 492: 153(fvec3) DPdxCoarse 491 Store 469(f32v) 492 493: 153(fvec3) Load 471(if32v) 494: 153(fvec3) DPdxCoarse 493 Store 469(f32v) 494 495: 472(ptr) AccessChain 471(if32v) 32 496: 26(float) Load 495 497: 26(float) Fwidth 496 498: 33(ptr) AccessChain 469(f32v) 32 Store 498 497 499: 153(fvec3) Load 471(if32v) 500: 27(fvec2) VectorShuffle 499 499 0 1 501: 27(fvec2) FwidthFine 500 502: 153(fvec3) Load 469(f32v) 503: 153(fvec3) VectorShuffle 502 501 3 4 2 Store 469(f32v) 503 504: 153(fvec3) Load 471(if32v) 505: 153(fvec3) FwidthCoarse 504 Store 469(f32v) 505 506: 472(ptr) AccessChain 471(if32v) 32 507: 26(float) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 506 508: 33(ptr) AccessChain 469(f32v) 32 Store 508 507 510: 153(fvec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 471(if32v) 509 511: 27(fvec2) VectorShuffle 510 510 0 1 512: 153(fvec3) Load 469(f32v) 513: 153(fvec3) VectorShuffle 512 511 3 4 2 Store 469(f32v) 513 516: 153(fvec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 471(if32v) 515 Store 469(f32v) 516 Return FunctionEnd