1 spv.float16.frag 2 Validation failed 3 // Module Version 10000 4 // Generated by (magic number): 80007 5 // Id's are bound by 534 6 7 Capability Shader 8 Capability Float16 9 Capability Float64 10 Capability Int64 11 Capability DerivativeControl 12 Capability InterpolationFunction 13 Capability StorageUniformBufferBlock16 14 Capability StorageUniform16 15 Capability StorageInputOutput16 16 Extension "SPV_AMD_gpu_shader_half_float" 17 Extension "SPV_KHR_16bit_storage" 18 1: ExtInstImport "GLSL.std.450" 19 MemoryModel Logical GLSL450 20 EntryPoint Fragment 4 "main" 465 21 ExecutionMode 4 OriginUpperLeft 22 Source GLSL 450 23 SourceExtension "GL_AMD_gpu_shader_half_float" 24 SourceExtension "GL_ARB_gpu_shader_int64" 25 Name 4 "main" 26 Name 6 "literal(" 27 Name 8 "operators(" 28 Name 10 "typeCast(" 29 Name 12 "builtinAngleTrigFuncs(" 30 Name 14 "builtinExpFuncs(" 31 Name 16 "builtinCommonFuncs(" 32 Name 18 "builtinPackUnpackFuncs(" 33 Name 20 "builtinGeometryFuncs(" 34 Name 22 "builtinMatrixFuncs(" 35 Name 24 "builtinVecRelFuncs(" 36 Name 26 "builtinFragProcFuncs(" 37 Name 31 "f16v" 38 Name 42 "f16v" 39 Name 64 "f16m" 40 Name 87 "f16" 41 Name 111 "b" 42 Name 153 "f16v" 43 Name 156 "bv" 44 Name 167 "fv" 45 Name 175 "dv" 46 Name 186 "iv" 47 Name 193 "uv" 48 Name 201 "i64v" 49 Name 209 "u64v" 50 Name 216 "f16v2" 51 Name 217 "f16v1" 52 Name 249 "f16v2" 53 Name 250 "f16v1" 54 Name 266 "f16v2" 55 Name 267 "f16v1" 56 Name 288 "f16" 57 Name 292 "f16v3" 58 Name 332 "bv" 59 Name 353 "b" 60 Name 363 "iv" 61 Name 364 "ResType" 62 Name 372 "u" 63 Name 373 "f16v" 64 Name 378 "f16" 65 Name 379 "f16v1" 66 Name 383 "f16v2" 67 Name 389 "f16v3" 68 Name 408 "f16m3" 69 Name 409 "f16m1" 70 Name 411 "f16m2" 71 Name 420 "f16v1" 72 Name 422 "f16v2" 73 Name 427 "f16m4" 74 Name 430 "f16" 75 Name 433 "f16m5" 76 Name 438 "f16m6" 77 Name 439 "f16m7" 78 Name 442 "bv" 79 Name 443 "f16v1" 80 Name 445 "f16v2" 81 Name 463 "f16v" 82 Name 465 "if16v" 83 Name 514 "S" 84 MemberName 514(S) 0 "x" 85 MemberName 514(S) 1 "y" 86 MemberName 514(S) 2 "z" 87 Name 516 "B1" 88 MemberName 516(B1) 0 "a" 89 MemberName 516(B1) 1 "b" 90 MemberName 516(B1) 2 "c" 91 MemberName 516(B1) 3 "d" 92 MemberName 516(B1) 4 "e" 93 MemberName 516(B1) 5 "f" 94 MemberName 516(B1) 6 "g" 95 MemberName 516(B1) 7 "h" 96 Name 518 "" 97 Name 521 "S" 98 MemberName 521(S) 0 "x" 99 MemberName 521(S) 1 "y" 100 MemberName 521(S) 2 "z" 101 Name 523 "B2" 102 MemberName 523(B2) 0 "o" 103 MemberName 523(B2) 1 "p" 104 MemberName 523(B2) 2 "q" 105 MemberName 523(B2) 3 "r" 106 MemberName 523(B2) 4 "s" 107 MemberName 523(B2) 5 "t" 108 MemberName 523(B2) 6 "u" 109 MemberName 523(B2) 7 "v" 110 Name 525 "" 111 Name 526 "sf16" 112 Name 527 "sf" 113 Name 528 "sd" 114 Name 529 "f16_to_f" 115 Name 531 "f16_to_d" 116 Name 532 "f_to_f16" 117 Name 533 "d_to_f16" 118 Decorate 512 ArrayStride 16 119 Decorate 513 ArrayStride 32 120 MemberDecorate 514(S) 0 Offset 0 121 MemberDecorate 514(S) 1 Offset 4 122 MemberDecorate 514(S) 2 Offset 8 123 Decorate 515 ArrayStride 16 124 MemberDecorate 516(B1) 0 Offset 0 125 MemberDecorate 516(B1) 1 Offset 4 126 MemberDecorate 516(B1) 2 Offset 8 127 MemberDecorate 516(B1) 3 Offset 16 128 MemberDecorate 516(B1) 4 ColMajor 129 MemberDecorate 516(B1) 4 Offset 48 130 MemberDecorate 516(B1) 4 MatrixStride 16 131 MemberDecorate 516(B1) 5 ColMajor 132 MemberDecorate 516(B1) 5 Offset 80 133 MemberDecorate 516(B1) 5 MatrixStride 16 134 MemberDecorate 516(B1) 6 Offset 144 135 MemberDecorate 516(B1) 7 Offset 160 136 Decorate 516(B1) Block 137 Decorate 518 DescriptorSet 0 138 Decorate 518 Binding 0 139 Decorate 519 ArrayStride 2 140 Decorate 520 ArrayStride 12 141 MemberDecorate 521(S) 0 Offset 0 142 MemberDecorate 521(S) 1 Offset 4 143 MemberDecorate 521(S) 2 Offset 8 144 Decorate 522 ArrayStride 16 145 MemberDecorate 523(B2) 0 Offset 0 146 MemberDecorate 523(B2) 1 Offset 4 147 MemberDecorate 523(B2) 2 Offset 8 148 MemberDecorate 523(B2) 3 Offset 14 149 MemberDecorate 523(B2) 4 RowMajor 150 MemberDecorate 523(B2) 4 Offset 20 151 MemberDecorate 523(B2) 4 MatrixStride 4 152 MemberDecorate 523(B2) 5 RowMajor 153 MemberDecorate 523(B2) 5 Offset 32 154 MemberDecorate 523(B2) 5 MatrixStride 4 155 MemberDecorate 523(B2) 6 Offset 56 156 MemberDecorate 523(B2) 7 Offset 72 157 Decorate 523(B2) BufferBlock 158 Decorate 525 DescriptorSet 0 159 Decorate 525 Binding 0 160 Decorate 526(sf16) SpecId 100 161 Decorate 527(sf) SpecId 101 162 Decorate 528(sd) SpecId 102 163 2: TypeVoid 164 3: TypeFunction 2 165 28: TypeFloat 16 166 29: TypeVector 28(float16_t) 2 167 30: TypePointer Function 29(f16vec2) 168 32:28(float16_t) Constant 16 169 33: TypeInt 32 0 170 34: 33(int) Constant 0 171 35: TypePointer Function 28(float16_t) 172 37:28(float16_t) Constant 46080 173 38:28(float16_t) Constant 10158 174 39: 29(f16vec2) ConstantComposite 37 38 175 56:28(float16_t) Constant 15360 176 62: TypeMatrix 29(f16vec2) 2 177 63: TypePointer Function 62 178 90: 33(int) Constant 1 179 109: TypeBool 180 110: TypePointer Function 109(bool) 181 151: TypeVector 28(float16_t) 3 182 152: TypePointer Function 151(f16vec3) 183 154: TypeVector 109(bool) 3 184 155: TypePointer Function 154(bvec3) 185 158:28(float16_t) Constant 0 186 159:151(f16vec3) ConstantComposite 158 158 158 187 160:151(f16vec3) ConstantComposite 56 56 56 188 164: TypeFloat 32 189 165: TypeVector 164(float) 3 190 166: TypePointer Function 165(fvec3) 191 172: TypeFloat 64 192 173: TypeVector 172(float64_t) 3 193 174: TypePointer Function 173(f64vec3) 194 183: TypeInt 32 1 195 184: TypeVector 183(int) 3 196 185: TypePointer Function 184(ivec3) 197 191: TypeVector 33(int) 3 198 192: TypePointer Function 191(ivec3) 199 198: TypeInt 64 1 200 199: TypeVector 198(int64_t) 3 201 200: TypePointer Function 199(i64vec3) 202 206: TypeInt 64 0 203 207: TypeVector 206(int64_t) 3 204 208: TypePointer Function 207(i64vec3) 205 214: TypeVector 28(float16_t) 4 206 215: TypePointer Function 214(f16vec4) 207 364(ResType): TypeStruct 151(f16vec3) 184(ivec3) 208 371: TypePointer Function 33(int) 209 406: TypeMatrix 151(f16vec3) 2 210 407: TypePointer Function 406 211 425: TypeMatrix 29(f16vec2) 3 212 426: TypePointer Function 425 213 431: TypeMatrix 151(f16vec3) 3 214 432: TypePointer Function 431 215 436: TypeMatrix 214(f16vec4) 4 216 437: TypePointer Function 436 217 464: TypePointer Input 151(f16vec3) 218 465(if16v): 464(ptr) Variable Input 219 466: TypePointer Input 28(float16_t) 220 503: 183(int) Constant 1 221 508:28(float16_t) Constant 14336 222 509: 29(f16vec2) ConstantComposite 508 508 223 511: 33(int) Constant 2 224 512: TypeArray 28(float16_t) 511 225 513: TypeArray 406 511 226 514(S): TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3) 227 515: TypeArray 514(S) 511 228 516(B1): TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3) 512 406 513 514(S) 515 229 517: TypePointer Uniform 516(B1) 230 518: 517(ptr) Variable Uniform 231 519: TypeArray 28(float16_t) 511 232 520: TypeArray 406 511 233 521(S): TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3) 234 522: TypeArray 521(S) 511 235 523(B2): TypeStruct 28(float16_t) 29(f16vec2) 151(f16vec3) 519 406 520 521(S) 522 236 524: TypePointer Uniform 523(B2) 237 525: 524(ptr) Variable Uniform 238 526(sf16):28(float16_t) SpecConstant 12288 239 527(sf): 164(float) SpecConstant 1048576000 240 528(sd):172(float64_t) SpecConstant 0 1071644672 241 529(f16_to_f): 164(float) SpecConstantOp 115 526(sf16) 242 530: 164(float) SpecConstantOp 115 526(sf16) 243 531(f16_to_d):172(float64_t) SpecConstantOp 115 530 244 532(f_to_f16):28(float16_t) SpecConstantOp 115 527(sf) 245 533(d_to_f16):28(float16_t) SpecConstantOp 115 528(sd) 246 4(main): 2 Function None 3 247 5: Label 248 Return 249 FunctionEnd 250 6(literal(): 2 Function None 3 251 7: Label 252 31(f16v): 30(ptr) Variable Function 253 36: 35(ptr) AccessChain 31(f16v) 34 254 Store 36 32 255 40: 29(f16vec2) Load 31(f16v) 256 41: 29(f16vec2) FAdd 40 39 257 Store 31(f16v) 41 258 Return 259 FunctionEnd 260 8(operators(): 2 Function None 3 261 9: Label 262 42(f16v): 30(ptr) Variable Function 263 64(f16m): 63(ptr) Variable Function 264 87(f16): 35(ptr) Variable Function 265 111(b): 110(ptr) Variable Function 266 43: 29(f16vec2) Load 42(f16v) 267 44: 29(f16vec2) Load 42(f16v) 268 45: 29(f16vec2) FAdd 44 43 269 Store 42(f16v) 45 270 46: 29(f16vec2) Load 42(f16v) 271 47: 29(f16vec2) Load 42(f16v) 272 48: 29(f16vec2) FSub 47 46 273 Store 42(f16v) 48 274 49: 29(f16vec2) Load 42(f16v) 275 50: 29(f16vec2) Load 42(f16v) 276 51: 29(f16vec2) FMul 50 49 277 Store 42(f16v) 51 278 52: 29(f16vec2) Load 42(f16v) 279 53: 29(f16vec2) Load 42(f16v) 280 54: 29(f16vec2) FDiv 53 52 281 Store 42(f16v) 54 282 55: 29(f16vec2) Load 42(f16v) 283 57: 29(f16vec2) CompositeConstruct 56 56 284 58: 29(f16vec2) FAdd 55 57 285 Store 42(f16v) 58 286 59: 29(f16vec2) Load 42(f16v) 287 60: 29(f16vec2) CompositeConstruct 56 56 288 61: 29(f16vec2) FSub 59 60 289 Store 42(f16v) 61 290 65: 62 Load 64(f16m) 291 66: 29(f16vec2) CompositeConstruct 56 56 292 67: 29(f16vec2) CompositeExtract 65 0 293 68: 29(f16vec2) FAdd 67 66 294 69: 29(f16vec2) CompositeExtract 65 1 295 70: 29(f16vec2) FAdd 69 66 296 71: 62 CompositeConstruct 68 70 297 Store 64(f16m) 71 298 72: 62 Load 64(f16m) 299 73: 29(f16vec2) CompositeConstruct 56 56 300 74: 29(f16vec2) CompositeExtract 72 0 301 75: 29(f16vec2) FSub 74 73 302 76: 29(f16vec2) CompositeExtract 72 1 303 77: 29(f16vec2) FSub 76 73 304 78: 62 CompositeConstruct 75 77 305 Store 64(f16m) 78 306 79: 29(f16vec2) Load 42(f16v) 307 80: 29(f16vec2) FNegate 79 308 Store 42(f16v) 80 309 81: 62 Load 64(f16m) 310 82: 29(f16vec2) CompositeExtract 81 0 311 83: 29(f16vec2) FNegate 82 312 84: 29(f16vec2) CompositeExtract 81 1 313 85: 29(f16vec2) FNegate 84 314 86: 62 CompositeConstruct 83 85 315 Store 64(f16m) 86 316 88: 35(ptr) AccessChain 42(f16v) 34 317 89:28(float16_t) Load 88 318 91: 35(ptr) AccessChain 42(f16v) 90 319 92:28(float16_t) Load 91 320 93:28(float16_t) FAdd 89 92 321 Store 87(f16) 93 322 94: 35(ptr) AccessChain 42(f16v) 34 323 95:28(float16_t) Load 94 324 96: 35(ptr) AccessChain 42(f16v) 90 325 97:28(float16_t) Load 96 326 98:28(float16_t) FSub 95 97 327 Store 87(f16) 98 328 99: 35(ptr) AccessChain 42(f16v) 34 329 100:28(float16_t) Load 99 330 101: 35(ptr) AccessChain 42(f16v) 90 331 102:28(float16_t) Load 101 332 103:28(float16_t) FMul 100 102 333 Store 87(f16) 103 334 104: 35(ptr) AccessChain 42(f16v) 34 335 105:28(float16_t) Load 104 336 106: 35(ptr) AccessChain 42(f16v) 90 337 107:28(float16_t) Load 106 338 108:28(float16_t) FDiv 105 107 339 Store 87(f16) 108 340 112: 35(ptr) AccessChain 42(f16v) 34 341 113:28(float16_t) Load 112 342 114:28(float16_t) Load 87(f16) 343 115: 109(bool) FOrdNotEqual 113 114 344 Store 111(b) 115 345 116: 35(ptr) AccessChain 42(f16v) 90 346 117:28(float16_t) Load 116 347 118:28(float16_t) Load 87(f16) 348 119: 109(bool) FOrdEqual 117 118 349 Store 111(b) 119 350 120: 35(ptr) AccessChain 42(f16v) 34 351 121:28(float16_t) Load 120 352 122:28(float16_t) Load 87(f16) 353 123: 109(bool) FOrdGreaterThan 121 122 354 Store 111(b) 123 355 124: 35(ptr) AccessChain 42(f16v) 90 356 125:28(float16_t) Load 124 357 126:28(float16_t) Load 87(f16) 358 127: 109(bool) FOrdLessThan 125 126 359 Store 111(b) 127 360 128: 35(ptr) AccessChain 42(f16v) 34 361 129:28(float16_t) Load 128 362 130:28(float16_t) Load 87(f16) 363 131: 109(bool) FOrdGreaterThanEqual 129 130 364 Store 111(b) 131 365 132: 35(ptr) AccessChain 42(f16v) 90 366 133:28(float16_t) Load 132 367 134:28(float16_t) Load 87(f16) 368 135: 109(bool) FOrdLessThanEqual 133 134 369 Store 111(b) 135 370 136: 29(f16vec2) Load 42(f16v) 371 137:28(float16_t) Load 87(f16) 372 138: 29(f16vec2) VectorTimesScalar 136 137 373 Store 42(f16v) 138 374 139: 62 Load 64(f16m) 375 140:28(float16_t) Load 87(f16) 376 141: 62 MatrixTimesScalar 139 140 377 Store 64(f16m) 141 378 142: 62 Load 64(f16m) 379 143: 29(f16vec2) Load 42(f16v) 380 144: 29(f16vec2) MatrixTimesVector 142 143 381 Store 42(f16v) 144 382 145: 29(f16vec2) Load 42(f16v) 383 146: 62 Load 64(f16m) 384 147: 29(f16vec2) VectorTimesMatrix 145 146 385 Store 42(f16v) 147 386 148: 62 Load 64(f16m) 387 149: 62 Load 64(f16m) 388 150: 62 MatrixTimesMatrix 148 149 389 Store 64(f16m) 150 390 Return 391 FunctionEnd 392 10(typeCast(): 2 Function None 3 393 11: Label 394 153(f16v): 152(ptr) Variable Function 395 156(bv): 155(ptr) Variable Function 396 167(fv): 166(ptr) Variable Function 397 175(dv): 174(ptr) Variable Function 398 186(iv): 185(ptr) Variable Function 399 193(uv): 192(ptr) Variable Function 400 201(i64v): 200(ptr) Variable Function 401 209(u64v): 208(ptr) Variable Function 402 157: 154(bvec3) Load 156(bv) 403 161:151(f16vec3) Select 157 160 159 404 Store 153(f16v) 161 405 162:151(f16vec3) Load 153(f16v) 406 163: 154(bvec3) FOrdNotEqual 162 159 407 Store 156(bv) 163 408 168: 165(fvec3) Load 167(fv) 409 169:151(f16vec3) FConvert 168 410 Store 153(f16v) 169 411 170:151(f16vec3) Load 153(f16v) 412 171: 165(fvec3) FConvert 170 413 Store 167(fv) 171 414 176:173(f64vec3) Load 175(dv) 415 177:151(f16vec3) FConvert 176 416 Store 153(f16v) 177 417 178:173(f64vec3) Load 175(dv) 418 179:172(float64_t) CompositeExtract 178 0 419 180:172(float64_t) CompositeExtract 178 1 420 181:172(float64_t) CompositeExtract 178 2 421 182:173(f64vec3) CompositeConstruct 179 180 181 422 Store 175(dv) 182 423 187: 184(ivec3) Load 186(iv) 424 188:151(f16vec3) ConvertSToF 187 425 Store 153(f16v) 188 426 189:151(f16vec3) Load 153(f16v) 427 190: 184(ivec3) ConvertFToS 189 428 Store 186(iv) 190 429 194: 191(ivec3) Load 193(uv) 430 195:151(f16vec3) ConvertUToF 194 431 Store 153(f16v) 195 432 196:151(f16vec3) Load 153(f16v) 433 197: 191(ivec3) ConvertFToU 196 434 Store 193(uv) 197 435 202:199(i64vec3) Load 201(i64v) 436 203:151(f16vec3) ConvertSToF 202 437 Store 153(f16v) 203 438 204:151(f16vec3) Load 153(f16v) 439 205:199(i64vec3) ConvertFToS 204 440 Store 201(i64v) 205 441 210:207(i64vec3) Load 209(u64v) 442 211:151(f16vec3) ConvertUToF 210 443 Store 153(f16v) 211 444 212:151(f16vec3) Load 153(f16v) 445 213:207(i64vec3) ConvertFToU 212 446 Store 209(u64v) 213 447 Return 448 FunctionEnd 449 12(builtinAngleTrigFuncs(): 2 Function None 3 450 13: Label 451 216(f16v2): 215(ptr) Variable Function 452 217(f16v1): 215(ptr) Variable Function 453 218:214(f16vec4) Load 217(f16v1) 454 219:214(f16vec4) ExtInst 1(GLSL.std.450) 11(Radians) 218 455 Store 216(f16v2) 219 456 220:214(f16vec4) Load 217(f16v1) 457 221:214(f16vec4) ExtInst 1(GLSL.std.450) 12(Degrees) 220 458 Store 216(f16v2) 221 459 222:214(f16vec4) Load 217(f16v1) 460 223:214(f16vec4) ExtInst 1(GLSL.std.450) 13(Sin) 222 461 Store 216(f16v2) 223 462 224:214(f16vec4) Load 217(f16v1) 463 225:214(f16vec4) ExtInst 1(GLSL.std.450) 14(Cos) 224 464 Store 216(f16v2) 225 465 226:214(f16vec4) Load 217(f16v1) 466 227:214(f16vec4) ExtInst 1(GLSL.std.450) 15(Tan) 226 467 Store 216(f16v2) 227 468 228:214(f16vec4) Load 217(f16v1) 469 229:214(f16vec4) ExtInst 1(GLSL.std.450) 16(Asin) 228 470 Store 216(f16v2) 229 471 230:214(f16vec4) Load 217(f16v1) 472 231:214(f16vec4) ExtInst 1(GLSL.std.450) 17(Acos) 230 473 Store 216(f16v2) 231 474 232:214(f16vec4) Load 217(f16v1) 475 233:214(f16vec4) Load 216(f16v2) 476 234:214(f16vec4) ExtInst 1(GLSL.std.450) 25(Atan2) 232 233 477 Store 216(f16v2) 234 478 235:214(f16vec4) Load 217(f16v1) 479 236:214(f16vec4) ExtInst 1(GLSL.std.450) 18(Atan) 235 480 Store 216(f16v2) 236 481 237:214(f16vec4) Load 217(f16v1) 482 238:214(f16vec4) ExtInst 1(GLSL.std.450) 19(Sinh) 237 483 Store 216(f16v2) 238 484 239:214(f16vec4) Load 217(f16v1) 485 240:214(f16vec4) ExtInst 1(GLSL.std.450) 20(Cosh) 239 486 Store 216(f16v2) 240 487 241:214(f16vec4) Load 217(f16v1) 488 242:214(f16vec4) ExtInst 1(GLSL.std.450) 21(Tanh) 241 489 Store 216(f16v2) 242 490 243:214(f16vec4) Load 217(f16v1) 491 244:214(f16vec4) ExtInst 1(GLSL.std.450) 22(Asinh) 243 492 Store 216(f16v2) 244 493 245:214(f16vec4) Load 217(f16v1) 494 246:214(f16vec4) ExtInst 1(GLSL.std.450) 23(Acosh) 245 495 Store 216(f16v2) 246 496 247:214(f16vec4) Load 217(f16v1) 497 248:214(f16vec4) ExtInst 1(GLSL.std.450) 24(Atanh) 247 498 Store 216(f16v2) 248 499 Return 500 FunctionEnd 501 14(builtinExpFuncs(): 2 Function None 3 502 15: Label 503 249(f16v2): 30(ptr) Variable Function 504 250(f16v1): 30(ptr) Variable Function 505 251: 29(f16vec2) Load 250(f16v1) 506 252: 29(f16vec2) Load 249(f16v2) 507 253: 29(f16vec2) ExtInst 1(GLSL.std.450) 26(Pow) 251 252 508 Store 249(f16v2) 253 509 254: 29(f16vec2) Load 250(f16v1) 510 255: 29(f16vec2) ExtInst 1(GLSL.std.450) 27(Exp) 254 511 Store 249(f16v2) 255 512 256: 29(f16vec2) Load 250(f16v1) 513 257: 29(f16vec2) ExtInst 1(GLSL.std.450) 28(Log) 256 514 Store 249(f16v2) 257 515 258: 29(f16vec2) Load 250(f16v1) 516 259: 29(f16vec2) ExtInst 1(GLSL.std.450) 29(Exp2) 258 517 Store 249(f16v2) 259 518 260: 29(f16vec2) Load 250(f16v1) 519 261: 29(f16vec2) ExtInst 1(GLSL.std.450) 30(Log2) 260 520 Store 249(f16v2) 261 521 262: 29(f16vec2) Load 250(f16v1) 522 263: 29(f16vec2) ExtInst 1(GLSL.std.450) 31(Sqrt) 262 523 Store 249(f16v2) 263 524 264: 29(f16vec2) Load 250(f16v1) 525 265: 29(f16vec2) ExtInst 1(GLSL.std.450) 32(InverseSqrt) 264 526 Store 249(f16v2) 265 527 Return 528 FunctionEnd 529 16(builtinCommonFuncs(): 2 Function None 3 530 17: Label 531 266(f16v2): 152(ptr) Variable Function 532 267(f16v1): 152(ptr) Variable Function 533 288(f16): 35(ptr) Variable Function 534 292(f16v3): 152(ptr) Variable Function 535 332(bv): 155(ptr) Variable Function 536 353(b): 110(ptr) Variable Function 537 363(iv): 185(ptr) Variable Function 538 268:151(f16vec3) Load 267(f16v1) 539 269:151(f16vec3) ExtInst 1(GLSL.std.450) 4(FAbs) 268 540 Store 266(f16v2) 269 541 270:151(f16vec3) Load 267(f16v1) 542 271:151(f16vec3) ExtInst 1(GLSL.std.450) 6(FSign) 270 543 Store 266(f16v2) 271 544 272:151(f16vec3) Load 267(f16v1) 545 273:151(f16vec3) ExtInst 1(GLSL.std.450) 8(Floor) 272 546 Store 266(f16v2) 273 547 274:151(f16vec3) Load 267(f16v1) 548 275:151(f16vec3) ExtInst 1(GLSL.std.450) 3(Trunc) 274 549 Store 266(f16v2) 275 550 276:151(f16vec3) Load 267(f16v1) 551 277:151(f16vec3) ExtInst 1(GLSL.std.450) 1(Round) 276 552 Store 266(f16v2) 277 553 278:151(f16vec3) Load 267(f16v1) 554 279:151(f16vec3) ExtInst 1(GLSL.std.450) 2(RoundEven) 278 555 Store 266(f16v2) 279 556 280:151(f16vec3) Load 267(f16v1) 557 281:151(f16vec3) ExtInst 1(GLSL.std.450) 9(Ceil) 280 558 Store 266(f16v2) 281 559 282:151(f16vec3) Load 267(f16v1) 560 283:151(f16vec3) ExtInst 1(GLSL.std.450) 10(Fract) 282 561 Store 266(f16v2) 283 562 284:151(f16vec3) Load 267(f16v1) 563 285:151(f16vec3) Load 266(f16v2) 564 286:151(f16vec3) FMod 284 285 565 Store 266(f16v2) 286 566 287:151(f16vec3) Load 267(f16v1) 567 289:28(float16_t) Load 288(f16) 568 290:151(f16vec3) CompositeConstruct 289 289 289 569 291:151(f16vec3) FMod 287 290 570 Store 266(f16v2) 291 571 293:151(f16vec3) Load 267(f16v1) 572 294:151(f16vec3) ExtInst 1(GLSL.std.450) 35(Modf) 293 266(f16v2) 573 Store 292(f16v3) 294 574 295:151(f16vec3) Load 267(f16v1) 575 296:151(f16vec3) Load 266(f16v2) 576 297:151(f16vec3) ExtInst 1(GLSL.std.450) 37(FMin) 295 296 577 Store 292(f16v3) 297 578 298:151(f16vec3) Load 267(f16v1) 579 299:28(float16_t) Load 288(f16) 580 300:151(f16vec3) CompositeConstruct 299 299 299 581 301:151(f16vec3) ExtInst 1(GLSL.std.450) 37(FMin) 298 300 582 Store 292(f16v3) 301 583 302:151(f16vec3) Load 267(f16v1) 584 303:151(f16vec3) Load 266(f16v2) 585 304:151(f16vec3) ExtInst 1(GLSL.std.450) 40(FMax) 302 303 586 Store 292(f16v3) 304 587 305:151(f16vec3) Load 267(f16v1) 588 306:28(float16_t) Load 288(f16) 589 307:151(f16vec3) CompositeConstruct 306 306 306 590 308:151(f16vec3) ExtInst 1(GLSL.std.450) 40(FMax) 305 307 591 Store 292(f16v3) 308 592 309:151(f16vec3) Load 267(f16v1) 593 310:28(float16_t) Load 288(f16) 594 311: 35(ptr) AccessChain 266(f16v2) 34 595 312:28(float16_t) Load 311 596 313:151(f16vec3) CompositeConstruct 310 310 310 597 314:151(f16vec3) CompositeConstruct 312 312 312 598 315:151(f16vec3) ExtInst 1(GLSL.std.450) 43(FClamp) 309 313 314 599 Store 292(f16v3) 315 600 316:151(f16vec3) Load 267(f16v1) 601 317:151(f16vec3) Load 266(f16v2) 602 318:28(float16_t) Load 288(f16) 603 319:151(f16vec3) CompositeConstruct 318 318 318 604 320:151(f16vec3) ExtInst 1(GLSL.std.450) 43(FClamp) 316 317 319 605 Store 292(f16v3) 320 606 321:151(f16vec3) Load 267(f16v1) 607 322:151(f16vec3) Load 266(f16v2) 608 323:28(float16_t) Load 288(f16) 609 324:151(f16vec3) CompositeConstruct 323 323 323 610 325:151(f16vec3) ExtInst 1(GLSL.std.450) 46(FMix) 321 322 324 611 Store 292(f16v3) 325 612 326:151(f16vec3) Load 267(f16v1) 613 327:151(f16vec3) Load 266(f16v2) 614 328:151(f16vec3) Load 292(f16v3) 615 329:151(f16vec3) ExtInst 1(GLSL.std.450) 46(FMix) 326 327 328 616 Store 292(f16v3) 329 617 330:151(f16vec3) Load 267(f16v1) 618 331:151(f16vec3) Load 266(f16v2) 619 333: 154(bvec3) Load 332(bv) 620 334:151(f16vec3) Select 333 331 330 621 Store 292(f16v3) 334 622 335:151(f16vec3) Load 267(f16v1) 623 336:151(f16vec3) Load 266(f16v2) 624 337:151(f16vec3) ExtInst 1(GLSL.std.450) 48(Step) 335 336 625 Store 292(f16v3) 337 626 338:28(float16_t) Load 288(f16) 627 339:151(f16vec3) Load 292(f16v3) 628 340:151(f16vec3) CompositeConstruct 338 338 338 629 341:151(f16vec3) ExtInst 1(GLSL.std.450) 48(Step) 340 339 630 Store 292(f16v3) 341 631 342:151(f16vec3) Load 267(f16v1) 632 343:151(f16vec3) Load 266(f16v2) 633 344:151(f16vec3) Load 292(f16v3) 634 345:151(f16vec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 342 343 344 635 Store 292(f16v3) 345 636 346:28(float16_t) Load 288(f16) 637 347: 35(ptr) AccessChain 267(f16v1) 34 638 348:28(float16_t) Load 347 639 349:151(f16vec3) Load 266(f16v2) 640 350:151(f16vec3) CompositeConstruct 346 346 346 641 351:151(f16vec3) CompositeConstruct 348 348 348 642 352:151(f16vec3) ExtInst 1(GLSL.std.450) 49(SmoothStep) 350 351 349 643 Store 292(f16v3) 352 644 354:28(float16_t) Load 288(f16) 645 355: 109(bool) IsNan 354 646 Store 353(b) 355 647 356:151(f16vec3) Load 267(f16v1) 648 357: 154(bvec3) IsInf 356 649 Store 332(bv) 357 650 358:151(f16vec3) Load 267(f16v1) 651 359:151(f16vec3) Load 266(f16v2) 652 360:151(f16vec3) Load 292(f16v3) 653 361:151(f16vec3) ExtInst 1(GLSL.std.450) 50(Fma) 358 359 360 654 Store 292(f16v3) 361 655 362:151(f16vec3) Load 267(f16v1) 656 365:364(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 362 657 366: 184(ivec3) CompositeExtract 365 1 658 Store 363(iv) 366 659 367:151(f16vec3) CompositeExtract 365 0 660 Store 266(f16v2) 367 661 368:151(f16vec3) Load 267(f16v1) 662 369: 184(ivec3) Load 363(iv) 663 370:151(f16vec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 368 369 664 Store 266(f16v2) 370 665 Return 666 FunctionEnd 667 18(builtinPackUnpackFuncs(): 2 Function None 3 668 19: Label 669 372(u): 371(ptr) Variable Function 670 373(f16v): 30(ptr) Variable Function 671 374: 29(f16vec2) Load 373(f16v) 672 375: 33(int) Bitcast 374 673 Store 372(u) 375 674 376: 33(int) Load 372(u) 675 377: 29(f16vec2) Bitcast 376 676 Store 373(f16v) 377 677 Return 678 FunctionEnd 679 20(builtinGeometryFuncs(): 2 Function None 3 680 21: Label 681 378(f16): 35(ptr) Variable Function 682 379(f16v1): 152(ptr) Variable Function 683 383(f16v2): 152(ptr) Variable Function 684 389(f16v3): 152(ptr) Variable Function 685 380:151(f16vec3) Load 379(f16v1) 686 381:28(float16_t) ExtInst 1(GLSL.std.450) 66(Length) 380 687 Store 378(f16) 381 688 382:151(f16vec3) Load 379(f16v1) 689 384:151(f16vec3) Load 383(f16v2) 690 385:28(float16_t) ExtInst 1(GLSL.std.450) 67(Distance) 382 384 691 Store 378(f16) 385 692 386:151(f16vec3) Load 379(f16v1) 693 387:151(f16vec3) Load 383(f16v2) 694 388:28(float16_t) Dot 386 387 695 Store 378(f16) 388 696 390:151(f16vec3) Load 379(f16v1) 697 391:151(f16vec3) Load 383(f16v2) 698 392:151(f16vec3) ExtInst 1(GLSL.std.450) 68(Cross) 390 391 699 Store 389(f16v3) 392 700 393:151(f16vec3) Load 379(f16v1) 701 394:151(f16vec3) ExtInst 1(GLSL.std.450) 69(Normalize) 393 702 Store 383(f16v2) 394 703 395:151(f16vec3) Load 379(f16v1) 704 396:151(f16vec3) Load 383(f16v2) 705 397:151(f16vec3) Load 389(f16v3) 706 398:151(f16vec3) ExtInst 1(GLSL.std.450) 70(FaceForward) 395 396 397 707 Store 389(f16v3) 398 708 399:151(f16vec3) Load 379(f16v1) 709 400:151(f16vec3) Load 383(f16v2) 710 401:151(f16vec3) ExtInst 1(GLSL.std.450) 71(Reflect) 399 400 711 Store 389(f16v3) 401 712 402:151(f16vec3) Load 379(f16v1) 713 403:151(f16vec3) Load 383(f16v2) 714 404:28(float16_t) Load 378(f16) 715 405:151(f16vec3) ExtInst 1(GLSL.std.450) 72(Refract) 402 403 404 716 Store 389(f16v3) 405 717 Return 718 FunctionEnd 719 22(builtinMatrixFuncs(): 2 Function None 3 720 23: Label 721 408(f16m3): 407(ptr) Variable Function 722 409(f16m1): 407(ptr) Variable Function 723 411(f16m2): 407(ptr) Variable Function 724 420(f16v1): 152(ptr) Variable Function 725 422(f16v2): 30(ptr) Variable Function 726 427(f16m4): 426(ptr) Variable Function 727 430(f16): 35(ptr) Variable Function 728 433(f16m5): 432(ptr) Variable Function 729 438(f16m6): 437(ptr) Variable Function 730 439(f16m7): 437(ptr) Variable Function 731 410: 406 Load 409(f16m1) 732 412: 406 Load 411(f16m2) 733 413:151(f16vec3) CompositeExtract 410 0 734 414:151(f16vec3) CompositeExtract 412 0 735 415:151(f16vec3) FMul 413 414 736 416:151(f16vec3) CompositeExtract 410 1 737 417:151(f16vec3) CompositeExtract 412 1 738 418:151(f16vec3) FMul 416 417 739 419: 406 CompositeConstruct 415 418 740 Store 408(f16m3) 419 741 421:151(f16vec3) Load 420(f16v1) 742 423: 29(f16vec2) Load 422(f16v2) 743 424: 406 OuterProduct 421 423 744 Store 409(f16m1) 424 745 428: 406 Load 409(f16m1) 746 429: 425 Transpose 428 747 Store 427(f16m4) 429 748 434: 431 Load 433(f16m5) 749 435:28(float16_t) ExtInst 1(GLSL.std.450) 33(Determinant) 434 750 Store 430(f16) 435 751 440: 436 Load 439(f16m7) 752 441: 436 ExtInst 1(GLSL.std.450) 34(MatrixInverse) 440 753 Store 438(f16m6) 441 754 Return 755 FunctionEnd 756 24(builtinVecRelFuncs(): 2 Function None 3 757 25: Label 758 442(bv): 155(ptr) Variable Function 759 443(f16v1): 152(ptr) Variable Function 760 445(f16v2): 152(ptr) Variable Function 761 444:151(f16vec3) Load 443(f16v1) 762 446:151(f16vec3) Load 445(f16v2) 763 447: 154(bvec3) FOrdLessThan 444 446 764 Store 442(bv) 447 765 448:151(f16vec3) Load 443(f16v1) 766 449:151(f16vec3) Load 445(f16v2) 767 450: 154(bvec3) FOrdLessThanEqual 448 449 768 Store 442(bv) 450 769 451:151(f16vec3) Load 443(f16v1) 770 452:151(f16vec3) Load 445(f16v2) 771 453: 154(bvec3) FOrdGreaterThan 451 452 772 Store 442(bv) 453 773 454:151(f16vec3) Load 443(f16v1) 774 455:151(f16vec3) Load 445(f16v2) 775 456: 154(bvec3) FOrdGreaterThanEqual 454 455 776 Store 442(bv) 456 777 457:151(f16vec3) Load 443(f16v1) 778 458:151(f16vec3) Load 445(f16v2) 779 459: 154(bvec3) FOrdEqual 457 458 780 Store 442(bv) 459 781 460:151(f16vec3) Load 443(f16v1) 782 461:151(f16vec3) Load 445(f16v2) 783 462: 154(bvec3) FOrdNotEqual 460 461 784 Store 442(bv) 462 785 Return 786 FunctionEnd 787 26(builtinFragProcFuncs(): 2 Function None 3 788 27: Label 789 463(f16v): 152(ptr) Variable Function 790 467: 466(ptr) AccessChain 465(if16v) 34 791 468:28(float16_t) Load 467 792 469:28(float16_t) DPdx 468 793 470: 35(ptr) AccessChain 463(f16v) 34 794 Store 470 469 795 471: 466(ptr) AccessChain 465(if16v) 90 796 472:28(float16_t) Load 471 797 473:28(float16_t) DPdy 472 798 474: 35(ptr) AccessChain 463(f16v) 90 799 Store 474 473 800 475:151(f16vec3) Load 465(if16v) 801 476: 29(f16vec2) VectorShuffle 475 475 0 1 802 477: 29(f16vec2) DPdxFine 476 803 478:151(f16vec3) Load 463(f16v) 804 479:151(f16vec3) VectorShuffle 478 477 3 4 2 805 Store 463(f16v) 479 806 480:151(f16vec3) Load 465(if16v) 807 481: 29(f16vec2) VectorShuffle 480 480 0 1 808 482: 29(f16vec2) DPdyFine 481 809 483:151(f16vec3) Load 463(f16v) 810 484:151(f16vec3) VectorShuffle 483 482 3 4 2 811 Store 463(f16v) 484 812 485:151(f16vec3) Load 465(if16v) 813 486:151(f16vec3) DPdxCoarse 485 814 Store 463(f16v) 486 815 487:151(f16vec3) Load 465(if16v) 816 488:151(f16vec3) DPdxCoarse 487 817 Store 463(f16v) 488 818 489: 466(ptr) AccessChain 465(if16v) 34 819 490:28(float16_t) Load 489 820 491:28(float16_t) Fwidth 490 821 492: 35(ptr) AccessChain 463(f16v) 34 822 Store 492 491 823 493:151(f16vec3) Load 465(if16v) 824 494: 29(f16vec2) VectorShuffle 493 493 0 1 825 495: 29(f16vec2) FwidthFine 494 826 496:151(f16vec3) Load 463(f16v) 827 497:151(f16vec3) VectorShuffle 496 495 3 4 2 828 Store 463(f16v) 497 829 498:151(f16vec3) Load 465(if16v) 830 499:151(f16vec3) FwidthCoarse 498 831 Store 463(f16v) 499 832 500: 466(ptr) AccessChain 465(if16v) 34 833 501:28(float16_t) ExtInst 1(GLSL.std.450) 76(InterpolateAtCentroid) 500 834 502: 35(ptr) AccessChain 463(f16v) 34 835 Store 502 501 836 504:151(f16vec3) ExtInst 1(GLSL.std.450) 77(InterpolateAtSample) 465(if16v) 503 837 505: 29(f16vec2) VectorShuffle 504 504 0 1 838 506:151(f16vec3) Load 463(f16v) 839 507:151(f16vec3) VectorShuffle 506 505 3 4 2 840 Store 463(f16v) 507 841 510:151(f16vec3) ExtInst 1(GLSL.std.450) 78(InterpolateAtOffset) 465(if16v) 509 842 Store 463(f16v) 510 843 Return 844 FunctionEnd 845