spv.float16.frag Validation failed // Module Version 10000 // Generated by (magic number): 8000b // Id's are bound by 538 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" 461 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 328 "bv" Name 349 "b" Name 359 "iv" Name 360 "ResType" Name 368 "u" Name 369 "f16v" Name 374 "f16" Name 375 "f16v1" Name 379 "f16v2" Name 385 "f16v3" Name 404 "f16m3" Name 405 "f16m1" Name 407 "f16m2" Name 416 "f16v1" Name 418 "f16v2" Name 423 "f16m4" Name 426 "f16" Name 429 "f16m5" Name 434 "f16m6" Name 435 "f16m7" Name 438 "bv" Name 439 "f16v1" Name 441 "f16v2" Name 459 "f16v" Name 461 "if16v" Name 518 "S" MemberName 518(S) 0 "x" MemberName 518(S) 1 "y" MemberName 518(S) 2 "z" Name 520 "B1" MemberName 520(B1) 0 "a" MemberName 520(B1) 1 "b" MemberName 520(B1) 2 "c" MemberName 520(B1) 3 "d" MemberName 520(B1) 4 "e" MemberName 520(B1) 5 "f" MemberName 520(B1) 6 "g" MemberName 520(B1) 7 "h" Name 522 "" Name 525 "S" MemberName 525(S) 0 "x" MemberName 525(S) 1 "y" MemberName 525(S) 2 "z" Name 527 "B2" MemberName 527(B2) 0 "o" MemberName 527(B2) 1 "p" MemberName 527(B2) 2 "q" MemberName 527(B2) 3 "r" MemberName 527(B2) 4 "s" MemberName 527(B2) 5 "t" MemberName 527(B2) 6 "u" MemberName 527(B2) 7 "v" Name 529 "" Name 530 "sf16" Name 531 "sf" Name 532 "sd" Name 533 "f16_to_f" Name 535 "f16_to_d" Name 536 "f_to_f16" Name 537 "d_to_f16" Decorate 461(if16v) Location 0 Decorate 516 ArrayStride 16 Decorate 517 ArrayStride 32 MemberDecorate 518(S) 0 Offset 0 MemberDecorate 518(S) 1 Offset 4 MemberDecorate 518(S) 2 Offset 8 Decorate 519 ArrayStride 16 Decorate 520(B1) Block MemberDecorate 520(B1) 0 Offset 0 MemberDecorate 520(B1) 1 Offset 4 MemberDecorate 520(B1) 2 Offset 8 MemberDecorate 520(B1) 3 Offset 16 MemberDecorate 520(B1) 4 ColMajor MemberDecorate 520(B1) 4 MatrixStride 16 MemberDecorate 520(B1) 4 Offset 48 MemberDecorate 520(B1) 5 ColMajor MemberDecorate 520(B1) 5 MatrixStride 16 MemberDecorate 520(B1) 5 Offset 80 MemberDecorate 520(B1) 6 Offset 144 MemberDecorate 520(B1) 7 Offset 160 Decorate 522 Binding 0 Decorate 522 DescriptorSet 0 Decorate 523 ArrayStride 2 Decorate 524 ArrayStride 12 MemberDecorate 525(S) 0 Offset 0 MemberDecorate 525(S) 1 Offset 4 MemberDecorate 525(S) 2 Offset 8 Decorate 526 ArrayStride 16 Decorate 527(B2) BufferBlock MemberDecorate 527(B2) 0 Offset 0 MemberDecorate 527(B2) 1 Offset 4 MemberDecorate 527(B2) 2 Offset 8 MemberDecorate 527(B2) 3 Offset 14 MemberDecorate 527(B2) 4 RowMajor MemberDecorate 527(B2) 4 MatrixStride 4 MemberDecorate 527(B2) 4 Offset 20 MemberDecorate 527(B2) 5 RowMajor MemberDecorate 527(B2) 5 MatrixStride 4 MemberDecorate 527(B2) 5 Offset 32 MemberDecorate 527(B2) 6 Offset 56 MemberDecorate 527(B2) 7 Offset 72 Decorate 529 Binding 0 Decorate 529 DescriptorSet 0 Decorate 530(sf16) SpecId 100 Decorate 531(sf) SpecId 101 Decorate 532(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) 360(ResType): TypeStruct 151(f16vec3) 180(ivec3) 367: TypePointer Function 33(int) 402: TypeMatrix 151(f16vec3) 2 403: TypePointer Function 402 421: TypeMatrix 29(f16vec2) 3 422: TypePointer Function 421 427: TypeMatrix 151(f16vec3) 3 428: TypePointer Function 427 432: TypeMatrix 210(f16vec4) 4 433: TypePointer Function 432 460: TypePointer Input 151(f16vec3) 461(if16v): 460(ptr) Variable Input 462: TypePointer Input 28(float16_t) 505: 179(int) Constant 1 512:28(float16_t) Constant 14336 513: 29(f16vec2) ConstantComposite 512 512 515: 33(int) Constant 2 516: TypeArray 28(float16_t) 515 517: TypeArray 402 515 518(S): TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3) 519: TypeArray 518(S) 515 520(B1): TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3) 516 402 517 518(S) 519 521: TypePointer Uniform 520(B1) 522: 521(ptr) Variable Uniform 523: TypeArray 28(float16_t) 515 524: TypeArray 402 515 525(S): TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3) 526: TypeArray 525(S) 515 527(B2): TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3) 523 402 524 525(S) 526 528: TypePointer Uniform 527(B2) 529: 528(ptr) Variable Uniform 530(sf16):28(float16_t) SpecConstant 12288 531(sf): 164(float) SpecConstant 1048576000 532(sd):172(float64_t) SpecConstant 0 1071644672 533(f16_to_f): 164(float) SpecConstantOp 115 530(sf16) 534: 164(float) SpecConstantOp 115 530(sf16) 535(f16_to_d):172(float64_t) SpecConstantOp 115 534 536(f_to_f16):28(float16_t) SpecConstantOp 115 531(sf) 537(d_to_f16):28(float16_t) SpecConstantOp 115 532(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 328(bv): 155(ptr) Variable Function 349(b): 110(ptr) Variable Function 359(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) 290:151(f16vec3) ExtInst 1(GLSL.std.450) 35(Modf) 289 262(f16v2) Store 288(f16v3) 290 291:151(f16vec3) Load 263(f16v1) 292:151(f16vec3) Load 262(f16v2) 293:151(f16vec3) ExtInst 1(GLSL.std.450) 37(FMin) 291 292 Store 288(f16v3) 293 294:151(f16vec3) Load 263(f16v1) 295:28(float16_t) Load 284(f16) 296:151(f16vec3) CompositeConstruct 295 295 295 297:151(f16vec3) ExtInst 1(GLSL.std.450) 37(FMin) 294 296 Store 288(f16v3) 297 298:151(f16vec3) Load 263(f16v1) 299:151(f16vec3) Load 262(f16v2) 300:151(f16vec3) ExtInst 1(GLSL.std.450) 40(FMax) 298 299 Store 288(f16v3) 300 301:151(f16vec3) Load 263(f16v1) 302:28(float16_t) Load 284(f16) 303:151(f16vec3) CompositeConstruct 302 302 302 304:151(f16vec3) ExtInst 1(GLSL.std.450) 40(FMax) 301 303 Store 288(f16v3) 304 305:151(f16vec3) Load 263(f16v1) 306:28(float16_t) Load 284(f16) 307: 35(ptr) AccessChain 262(f16v2) 34 308:28(float16_t) Load 307 309:151(f16vec3) CompositeConstruct 306 306 306 310:151(f16vec3) CompositeConstruct 308 308 308 311:151(f16vec3) ExtInst 1(GLSL.std.450) 43(FClamp) 305 309 310 Store 288(f16v3) 311 312:151(f16vec3) Load 263(f16v1) 313:151(f16vec3) Load 262(f16v2) 314:28(float16_t) Load 284(f16) 315:151(f16vec3) CompositeConstruct 314 314 314 316:151(f16vec3) ExtInst 1(GLSL.std.450) 43(FClamp) 312 313 315 Store 288(f16v3) 316 317:151(f16vec3) Load 263(f16v1) 318:151(f16vec3) Load 262(f16v2) 319:28(float16_t) Load 284(f16) 320:151(f16vec3) CompositeConstruct 319 319 319 321:151(f16vec3) ExtInst 1(GLSL.std.450) 46(FMix) 317 318 320 Store 288(f16v3) 321 322:151(f16vec3) Load 263(f16v1) 323:151(f16vec3) Load 262(f16v2) 324:151(f16vec3) Load 288(f16v3) 325:151(f16vec3) ExtInst 1(GLSL.std.450) 46(FMix) 322 323 324 Store 288(f16v3) 325 326:151(f16vec3) Load 263(f16v1) 327:151(f16vec3) Load 262(f16v2) 329: 154(bvec3) Load 328(bv) 330:151(f16vec3) Select 329 327 326 Store 288(f16v3) 330 331:151(f16vec3) Load 263(f16v1) 332:151(f16vec3) Load 262(f16v2) 333:151(f16vec3) ExtInst 1(GLSL.std.450) 48(Step) 331 332 Store 288(f16v3) 333 334:28(float16_t) Load 284(f16) 335:151(f16vec3) Load 288(f16v3) 336:151(f16vec3) CompositeConstruct 334 334 334 337:151(f16vec3) ExtInst 1(GLSL.std.450) 48(Step) 336 335 Store 288(f16v3) 337 338:151(f16vec3) Load 263(f16v1) 339:151(f16vec3) Load 262(f16v2) 340:151(f16vec3) Load 288(f16v3) 341:151(f16vec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 338 339 340 Store 288(f16v3) 341 342:28(float16_t) Load 284(f16) 343: 35(ptr) AccessChain 263(f16v1) 34 344:28(float16_t) Load 343 345:151(f16vec3) Load 262(f16v2) 346:151(f16vec3) CompositeConstruct 342 342 342 347:151(f16vec3) CompositeConstruct 344 344 344 348:151(f16vec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 346 347 345 Store 288(f16v3) 348 350:28(float16_t) Load 284(f16) 351: 109(bool) IsNan 350 Store 349(b) 351 352:151(f16vec3) Load 263(f16v1) 353: 154(bvec3) IsInf 352 Store 328(bv) 353 354:151(f16vec3) Load 263(f16v1) 355:151(f16vec3) Load 262(f16v2) 356:151(f16vec3) Load 288(f16v3) 357:151(f16vec3) ExtInst 1(GLSL.std.450) 50(Fma) 354 355 356 Store 288(f16v3) 357 358:151(f16vec3) Load 263(f16v1) 361:360(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 358 362: 180(ivec3) CompositeExtract 361 1 Store 359(iv) 362 363:151(f16vec3) CompositeExtract 361 0 Store 262(f16v2) 363 364:151(f16vec3) Load 263(f16v1) 365: 180(ivec3) Load 359(iv) 366:151(f16vec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 364 365 Store 262(f16v2) 366 Return FunctionEnd 18(builtinPackUnpackFuncs(): 2 Function None 3 19: Label 368(u): 367(ptr) Variable Function 369(f16v): 30(ptr) Variable Function 370: 29(f16vec2) Load 369(f16v) 371: 33(int) Bitcast 370 Store 368(u) 371 372: 33(int) Load 368(u) 373: 29(f16vec2) Bitcast 372 Store 369(f16v) 373 Return FunctionEnd 20(builtinGeometryFuncs(): 2 Function None 3 21: Label 374(f16): 35(ptr) Variable Function 375(f16v1): 152(ptr) Variable Function 379(f16v2): 152(ptr) Variable Function 385(f16v3): 152(ptr) Variable Function 376:151(f16vec3) Load 375(f16v1) 377:28(float16_t) ExtInst 1(GLSL.std.450) 66(Length) 376 Store 374(f16) 377 378:151(f16vec3) Load 375(f16v1) 380:151(f16vec3) Load 379(f16v2) 381:28(float16_t) ExtInst 1(GLSL.std.450) 67(Distance) 378 380 Store 374(f16) 381 382:151(f16vec3) Load 375(f16v1) 383:151(f16vec3) Load 379(f16v2) 384:28(float16_t) Dot 382 383 Store 374(f16) 384 386:151(f16vec3) Load 375(f16v1) 387:151(f16vec3) Load 379(f16v2) 388:151(f16vec3) ExtInst 1(GLSL.std.450) 68(Cross) 386 387 Store 385(f16v3) 388 389:151(f16vec3) Load 375(f16v1) 390:151(f16vec3) ExtInst 1(GLSL.std.450) 69(Normalize) 389 Store 379(f16v2) 390 391:151(f16vec3) Load 375(f16v1) 392:151(f16vec3) Load 379(f16v2) 393:151(f16vec3) Load 385(f16v3) 394:151(f16vec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 391 392 393 Store 385(f16v3) 394 395:151(f16vec3) Load 375(f16v1) 396:151(f16vec3) Load 379(f16v2) 397:151(f16vec3) ExtInst 1(GLSL.std.450) 71(Reflect) 395 396 Store 385(f16v3) 397 398:151(f16vec3) Load 375(f16v1) 399:151(f16vec3) Load 379(f16v2) 400:28(float16_t) Load 374(f16) 401:151(f16vec3) ExtInst 1(GLSL.std.450) 72(Refract) 398 399 400 Store 385(f16v3) 401 Return FunctionEnd 22(builtinMatrixFuncs(): 2 Function None 3 23: Label 404(f16m3): 403(ptr) Variable Function 405(f16m1): 403(ptr) Variable Function 407(f16m2): 403(ptr) Variable Function 416(f16v1): 152(ptr) Variable Function 418(f16v2): 30(ptr) Variable Function 423(f16m4): 422(ptr) Variable Function 426(f16): 35(ptr) Variable Function 429(f16m5): 428(ptr) Variable Function 434(f16m6): 433(ptr) Variable Function 435(f16m7): 433(ptr) Variable Function 406: 402 Load 405(f16m1) 408: 402 Load 407(f16m2) 409:151(f16vec3) CompositeExtract 406 0 410:151(f16vec3) CompositeExtract 408 0 411:151(f16vec3) FMul 409 410 412:151(f16vec3) CompositeExtract 406 1 413:151(f16vec3) CompositeExtract 408 1 414:151(f16vec3) FMul 412 413 415: 402 CompositeConstruct 411 414 Store 404(f16m3) 415 417:151(f16vec3) Load 416(f16v1) 419: 29(f16vec2) Load 418(f16v2) 420: 402 OuterProduct 417 419 Store 405(f16m1) 420 424: 402 Load 405(f16m1) 425: 421 Transpose 424 Store 423(f16m4) 425 430: 427 Load 429(f16m5) 431:28(float16_t) ExtInst 1(GLSL.std.450) 33(Determinant) 430 Store 426(f16) 431 436: 432 Load 435(f16m7) 437: 432 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 436 Store 434(f16m6) 437 Return FunctionEnd 24(builtinVecRelFuncs(): 2 Function None 3 25: Label 438(bv): 155(ptr) Variable Function 439(f16v1): 152(ptr) Variable Function 441(f16v2): 152(ptr) Variable Function 440:151(f16vec3) Load 439(f16v1) 442:151(f16vec3) Load 441(f16v2) 443: 154(bvec3) FOrdLessThan 440 442 Store 438(bv) 443 444:151(f16vec3) Load 439(f16v1) 445:151(f16vec3) Load 441(f16v2) 446: 154(bvec3) FOrdLessThanEqual 444 445 Store 438(bv) 446 447:151(f16vec3) Load 439(f16v1) 448:151(f16vec3) Load 441(f16v2) 449: 154(bvec3) FOrdGreaterThan 447 448 Store 438(bv) 449 450:151(f16vec3) Load 439(f16v1) 451:151(f16vec3) Load 441(f16v2) 452: 154(bvec3) FOrdGreaterThanEqual 450 451 Store 438(bv) 452 453:151(f16vec3) Load 439(f16v1) 454:151(f16vec3) Load 441(f16v2) 455: 154(bvec3) FOrdEqual 453 454 Store 438(bv) 455 456:151(f16vec3) Load 439(f16v1) 457:151(f16vec3) Load 441(f16v2) 458: 154(bvec3) FUnordNotEqual 456 457 Store 438(bv) 458 Return FunctionEnd 26(builtinFragProcFuncs(): 2 Function None 3 27: Label 459(f16v): 152(ptr) Variable Function 463: 462(ptr) AccessChain 461(if16v) 34 464:28(float16_t) Load 463 465:28(float16_t) DPdx 464 466: 35(ptr) AccessChain 459(f16v) 34 Store 466 465 467: 462(ptr) AccessChain 461(if16v) 90 468:28(float16_t) Load 467 469:28(float16_t) DPdy 468 470: 35(ptr) AccessChain 459(f16v) 90 Store 470 469 471:151(f16vec3) Load 461(if16v) 472: 29(f16vec2) VectorShuffle 471 471 0 1 473: 29(f16vec2) DPdxFine 472 474: 35(ptr) AccessChain 459(f16v) 34 475:28(float16_t) CompositeExtract 473 0 Store 474 475 476: 35(ptr) AccessChain 459(f16v) 90 477:28(float16_t) CompositeExtract 473 1 Store 476 477 478:151(f16vec3) Load 461(if16v) 479: 29(f16vec2) VectorShuffle 478 478 0 1 480: 29(f16vec2) DPdyFine 479 481: 35(ptr) AccessChain 459(f16v) 34 482:28(float16_t) CompositeExtract 480 0 Store 481 482 483: 35(ptr) AccessChain 459(f16v) 90 484:28(float16_t) CompositeExtract 480 1 Store 483 484 485:151(f16vec3) Load 461(if16v) 486:151(f16vec3) DPdxCoarse 485 Store 459(f16v) 486 487:151(f16vec3) Load 461(if16v) 488:151(f16vec3) DPdxCoarse 487 Store 459(f16v) 488 489: 462(ptr) AccessChain 461(if16v) 34 490:28(float16_t) Load 489 491:28(float16_t) Fwidth 490 492: 35(ptr) AccessChain 459(f16v) 34 Store 492 491 493:151(f16vec3) Load 461(if16v) 494: 29(f16vec2) VectorShuffle 493 493 0 1 495: 29(f16vec2) FwidthFine 494 496: 35(ptr) AccessChain 459(f16v) 34 497:28(float16_t) CompositeExtract 495 0 Store 496 497 498: 35(ptr) AccessChain 459(f16v) 90 499:28(float16_t) CompositeExtract 495 1 Store 498 499 500:151(f16vec3) Load 461(if16v) 501:151(f16vec3) FwidthCoarse 500 Store 459(f16v) 501 502: 462(ptr) AccessChain 461(if16v) 34 503:28(float16_t) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 502 504: 35(ptr) AccessChain 459(f16v) 34 Store 504 503 506:151(f16vec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 461(if16v) 505 507: 29(f16vec2) VectorShuffle 506 506 0 1 508: 35(ptr) AccessChain 459(f16v) 34 509:28(float16_t) CompositeExtract 507 0 Store 508 509 510: 35(ptr) AccessChain 459(f16v) 90 511:28(float16_t) CompositeExtract 507 1 Store 510 511 514:151(f16vec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 461(if16v) 513 Store 459(f16v) 514 Return FunctionEnd