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