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