spv.float32.frag
error: SPIRV-Tools Validation Errors
error: Capability Float16 is not allowed by Vulkan 1.1 specification (or requires extension)
  OpCapability Float16

// 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 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
