spv.int16.amd.frag // Module Version 10000 // Generated by (magic number): 80008 // Id's are bound by 560 Capability Shader Capability Float16 Capability Float64 Capability Int64 Capability Int16 Capability StorageUniform16 Capability StorageInputOutput16 Extension "SPV_AMD_gpu_shader_int16" Extension "SPV_KHR_16bit_storage" 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint Fragment 4 "main" 519 521 ExecutionMode 4 OriginUpperLeft Source GLSL 450 SourceExtension "GL_AMD_gpu_shader_half_float" SourceExtension "GL_AMD_gpu_shader_int16" SourceExtension "GL_ARB_gpu_shader_int64" Name 4 "main" Name 6 "literal(" Name 8 "operators(" Name 10 "typeCast(" Name 12 "builtinFuncs(" Name 16 "u16" Name 25 "Uniforms" MemberName 25(Uniforms) 0 "i" Name 27 "" Name 34 "indexable" Name 45 "indexable" Name 51 "u16v" Name 57 "i16" Name 70 "u16" Name 127 "b" Name 148 "u" Name 159 "i" Name 189 "i16v" Name 192 "bv" Name 200 "u16v" Name 213 "iv" Name 226 "uv" Name 240 "fv" Name 252 "dv" Name 264 "f16v" Name 276 "i64v" Name 290 "u64v" Name 305 "i16v" Name 311 "i16" Name 319 "u16v" Name 321 "u16" Name 393 "f16v" Name 396 "exp" Name 397 "ResType" Name 418 "packi" Name 423 "packu" Name 432 "packi64" Name 441 "packu64" Name 450 "bv" Name 515 "Block" MemberName 515(Block) 0 "i16v" MemberName 515(Block) 1 "u16" Name 517 "block" Name 519 "iu16v" Name 521 "ii16" Name 522 "si64" Name 523 "su64" Name 524 "si" Name 525 "su" Name 526 "sb" Name 527 "si16" Name 528 "su16" Name 529 "i16_to_b" Name 530 "u16_to_b" Name 531 "b_to_i16" Name 532 "b_to_u16" Name 533 "i16_to_i" Name 535 "u16_to_i" Name 536 "i_to_i16" Name 538 "i_to_u16" Name 540 "i16_to_u" Name 541 "u16_to_u" Name 543 "u_to_i16" Name 544 "u_to_u16" Name 545 "i16_to_i64" Name 548 "u16_to_i64" Name 549 "i64_to_i16" Name 551 "i64_to_u16" Name 553 "i16_to_u64" Name 554 "u16_to_u64" Name 556 "u64_to_i16" Name 557 "u64_to_u16" Name 558 "i16_to_u16" Name 559 "u16_to_i16" MemberDecorate 25(Uniforms) 0 Offset 0 Decorate 25(Uniforms) Block Decorate 27 DescriptorSet 0 Decorate 27 Binding 0 MemberDecorate 515(Block) 0 Offset 0 MemberDecorate 515(Block) 1 Offset 6 Decorate 515(Block) Block Decorate 517(block) DescriptorSet 0 Decorate 517(block) Binding 1 Decorate 519(iu16v) Flat Decorate 519(iu16v) Location 0 Decorate 521(ii16) Flat Decorate 521(ii16) Location 1 Decorate 522(si64) SpecId 100 Decorate 523(su64) SpecId 101 Decorate 524(si) SpecId 102 Decorate 525(su) SpecId 103 Decorate 526(sb) SpecId 104 Decorate 527(si16) SpecId 105 Decorate 528(su16) SpecId 106 2: TypeVoid 3: TypeFunction 2 14: TypeInt 16 0 15: TypePointer Function 14(int16_t) 17: TypeInt 16 1 18: TypeInt 32 0 19: 18(int) Constant 3 20: TypeArray 17(int16_t) 19 21: 17(int16_t) Constant 273 22: 17(int16_t) Constant 4294967294 23: 17(int16_t) Constant 256 24: 20 ConstantComposite 21 22 23 25(Uniforms): TypeStruct 18(int) 26: TypePointer Uniform 25(Uniforms) 27: 26(ptr) Variable Uniform 28: TypeInt 32 1 29: 28(int) Constant 0 30: TypePointer Uniform 18(int) 33: TypePointer Function 20 35: TypePointer Function 17(int16_t) 39: TypeArray 14(int16_t) 19 40: 14(int16_t) Constant 65535 41: 39 ConstantComposite 40 40 40 44: TypePointer Function 39 49: TypeVector 14(int16_t) 3 50: TypePointer Function 49(i16vec3) 53: 17(int16_t) Constant 1 54: TypeVector 17(int16_t) 3 111: 18(int) Constant 1 117: 18(int) Constant 2 125: TypeBool 126: TypePointer Function 125(bool) 128: 18(int) Constant 0 147: TypePointer Function 18(int) 158: TypePointer Function 28(int) 187: TypeVector 17(int16_t) 2 188: TypePointer Function 187(i16vec2) 190: TypeVector 125(bool) 2 191: TypePointer Function 190(bvec2) 194: 17(int16_t) Constant 0 195:187(i16vec2) ConstantComposite 194 194 196:187(i16vec2) ConstantComposite 53 53 198: TypeVector 14(int16_t) 2 199: TypePointer Function 198(i16vec2) 202: 14(int16_t) Constant 0 203: 14(int16_t) Constant 1 204:198(i16vec2) ConstantComposite 202 202 205:198(i16vec2) ConstantComposite 203 203 211: TypeVector 28(int) 2 212: TypePointer Function 211(ivec2) 222: TypeVector 18(int) 2 225: TypePointer Function 222(ivec2) 237: TypeFloat 32 238: TypeVector 237(float) 2 239: TypePointer Function 238(fvec2) 249: TypeFloat 64 250: TypeVector 249(float64_t) 2 251: TypePointer Function 250(f64vec2) 261: TypeFloat 16 262: TypeVector 261(float16_t) 2 263: TypePointer Function 262(f16vec2) 273: TypeInt 64 1 274: TypeVector 273(int64_t) 2 275: TypePointer Function 274(i64vec2) 285: TypeInt 64 0 286: TypeVector 285(int64_t) 2 289: TypePointer Function 286(i64vec2) 316: 17(int16_t) Constant 4294967295 317:187(i16vec2) ConstantComposite 316 316 326: 49(i16vec3) ConstantComposite 202 202 202 368: 125(bool) ConstantTrue 375: 125(bool) ConstantFalse 376: 190(bvec2) ConstantComposite 375 375 388: TypeVector 125(bool) 3 389: 388(bvec3) ConstantComposite 375 375 375 391: TypeVector 261(float16_t) 3 392: TypePointer Function 391(f16vec3) 395: TypePointer Function 54(i16vec3) 397(ResType): TypeStruct 391(f16vec3) 54(i16vec3) 407: TypePointer Function 261(float16_t) 431: TypePointer Function 273(int64_t) 434: TypeVector 17(int16_t) 4 440: TypePointer Function 285(int64_t) 443: TypeVector 14(int16_t) 4 449: TypePointer Function 388(bvec3) 515(Block): TypeStruct 54(i16vec3) 14(int16_t) 516: TypePointer Uniform 515(Block) 517(block): 516(ptr) Variable Uniform 518: TypePointer Input 49(i16vec3) 519(iu16v): 518(ptr) Variable Input 520: TypePointer Input 17(int16_t) 521(ii16): 520(ptr) Variable Input 522(si64):273(int64_t) SpecConstant 4294967286 4294967295 523(su64):285(int64_t) SpecConstant 20 0 524(si): 28(int) SpecConstant 4294967291 525(su): 18(int) SpecConstant 4 526(sb): 125(bool) SpecConstantTrue 527(si16): 17(int16_t) SpecConstant 4294967291 528(su16): 14(int16_t) SpecConstant 4 529(i16_to_b): 125(bool) SpecConstantOp 171 527(si16) 202 530(u16_to_b): 125(bool) SpecConstantOp 171 528(su16) 202 531(b_to_i16): 17(int16_t) SpecConstantOp 169 526(sb) 53 194 532(b_to_u16): 14(int16_t) SpecConstantOp 169 526(sb) 203 202 533(i16_to_i): 28(int) SpecConstantOp 114 527(si16) 534: 18(int) SpecConstantOp 113 528(su16) 535(u16_to_i): 28(int) SpecConstantOp 128 534 128 536(i_to_i16): 17(int16_t) SpecConstantOp 114 524(si) 537: 17(int16_t) SpecConstantOp 114 524(si) 538(i_to_u16): 14(int16_t) SpecConstantOp 128 537 202 539: 28(int) SpecConstantOp 114 527(si16) 540(i16_to_u): 18(int) SpecConstantOp 128 539 128 541(u16_to_u): 18(int) SpecConstantOp 113 528(su16) 542: 14(int16_t) SpecConstantOp 113 525(su) 543(u_to_i16): 17(int16_t) SpecConstantOp 128 542 202 544(u_to_u16): 14(int16_t) SpecConstantOp 113 525(su) 545(i16_to_i64):273(int64_t) SpecConstantOp 114 527(si16) 546:285(int64_t) SpecConstantOp 113 528(su16) 547:285(int64_t) Constant 0 0 548(u16_to_i64):273(int64_t) SpecConstantOp 128 546 547 549(i64_to_i16): 17(int16_t) SpecConstantOp 114 522(si64) 550: 17(int16_t) SpecConstantOp 114 522(si64) 551(i64_to_u16): 14(int16_t) SpecConstantOp 128 550 202 552:273(int64_t) SpecConstantOp 114 527(si16) 553(i16_to_u64):285(int64_t) SpecConstantOp 128 552 547 554(u16_to_u64):285(int64_t) SpecConstantOp 113 528(su16) 555: 14(int16_t) SpecConstantOp 113 523(su64) 556(u64_to_i16): 17(int16_t) SpecConstantOp 128 555 202 557(u64_to_u16): 14(int16_t) SpecConstantOp 113 523(su64) 558(i16_to_u16): 14(int16_t) SpecConstantOp 128 527(si16) 202 559(u16_to_i16): 17(int16_t) SpecConstantOp 128 528(su16) 202 4(main): 2 Function None 3 5: Label 511: 2 FunctionCall 6(literal() 512: 2 FunctionCall 8(operators() 513: 2 FunctionCall 10(typeCast() 514: 2 FunctionCall 12(builtinFuncs() Return FunctionEnd 6(literal(): 2 Function None 3 7: Label 16(u16): 15(ptr) Variable Function 34(indexable): 33(ptr) Variable Function 45(indexable): 44(ptr) Variable Function 31: 30(ptr) AccessChain 27 29 32: 18(int) Load 31 Store 34(indexable) 24 36: 35(ptr) AccessChain 34(indexable) 32 37: 17(int16_t) Load 36 38: 14(int16_t) Bitcast 37 42: 30(ptr) AccessChain 27 29 43: 18(int) Load 42 Store 45(indexable) 41 46: 15(ptr) AccessChain 45(indexable) 43 47: 14(int16_t) Load 46 48: 14(int16_t) IAdd 38 47 Store 16(u16) 48 Return FunctionEnd 8(operators(): 2 Function None 3 9: Label 51(u16v): 50(ptr) Variable Function 57(i16): 35(ptr) Variable Function 70(u16): 15(ptr) Variable Function 127(b): 126(ptr) Variable Function 148(u): 147(ptr) Variable Function 159(i): 158(ptr) Variable Function 52: 49(i16vec3) Load 51(u16v) 55: 54(i16vec3) CompositeConstruct 53 53 53 56: 49(i16vec3) IAdd 52 55 Store 51(u16v) 56 58: 17(int16_t) Load 57(i16) 59: 17(int16_t) ISub 58 53 Store 57(i16) 59 60: 17(int16_t) Load 57(i16) 61: 17(int16_t) IAdd 60 53 Store 57(i16) 61 62: 49(i16vec3) Load 51(u16v) 63: 54(i16vec3) CompositeConstruct 53 53 53 64: 49(i16vec3) ISub 62 63 Store 51(u16v) 64 65: 49(i16vec3) Load 51(u16v) 66: 49(i16vec3) Not 65 Store 51(u16v) 66 67: 17(int16_t) Load 57(i16) Store 57(i16) 67 68: 49(i16vec3) Load 51(u16v) 69: 49(i16vec3) SNegate 68 Store 51(u16v) 69 71: 17(int16_t) Load 57(i16) 72: 14(int16_t) Bitcast 71 73: 14(int16_t) Load 70(u16) 74: 14(int16_t) IAdd 73 72 Store 70(u16) 74 75: 49(i16vec3) Load 51(u16v) 76: 49(i16vec3) Load 51(u16v) 77: 49(i16vec3) ISub 76 75 Store 51(u16v) 77 78: 17(int16_t) Load 57(i16) 79: 17(int16_t) Load 57(i16) 80: 17(int16_t) IMul 79 78 Store 57(i16) 80 81: 49(i16vec3) Load 51(u16v) 82: 49(i16vec3) Load 51(u16v) 83: 49(i16vec3) UDiv 82 81 Store 51(u16v) 83 84: 17(int16_t) Load 57(i16) 85: 14(int16_t) Bitcast 84 86: 49(i16vec3) Load 51(u16v) 87: 49(i16vec3) CompositeConstruct 85 85 85 88: 49(i16vec3) UMod 86 87 Store 51(u16v) 88 89: 49(i16vec3) Load 51(u16v) 90: 49(i16vec3) Load 51(u16v) 91: 49(i16vec3) IAdd 89 90 Store 51(u16v) 91 92: 17(int16_t) Load 57(i16) 93: 14(int16_t) Bitcast 92 94: 14(int16_t) Load 70(u16) 95: 14(int16_t) ISub 93 94 Store 70(u16) 95 96: 49(i16vec3) Load 51(u16v) 97: 17(int16_t) Load 57(i16) 98: 14(int16_t) Bitcast 97 99: 49(i16vec3) CompositeConstruct 98 98 98 100: 49(i16vec3) IMul 96 99 Store 51(u16v) 100 101: 17(int16_t) Load 57(i16) 102: 17(int16_t) Load 57(i16) 103: 17(int16_t) IMul 101 102 Store 57(i16) 103 104: 17(int16_t) Load 57(i16) 105: 17(int16_t) Load 57(i16) 106: 17(int16_t) SMod 104 105 Store 57(i16) 106 107: 17(int16_t) Load 57(i16) 108: 49(i16vec3) Load 51(u16v) 109: 54(i16vec3) CompositeConstruct 107 107 107 110: 49(i16vec3) ShiftLeftLogical 108 109 Store 51(u16v) 110 112: 15(ptr) AccessChain 51(u16v) 111 113: 14(int16_t) Load 112 114: 17(int16_t) Load 57(i16) 115: 17(int16_t) ShiftRightArithmetic 114 113 Store 57(i16) 115 116: 17(int16_t) Load 57(i16) 118: 15(ptr) AccessChain 51(u16v) 117 119: 14(int16_t) Load 118 120: 17(int16_t) ShiftLeftLogical 116 119 Store 57(i16) 120 121: 49(i16vec3) Load 51(u16v) 122: 17(int16_t) Load 57(i16) 123: 54(i16vec3) CompositeConstruct 122 122 122 124: 49(i16vec3) ShiftLeftLogical 121 123 Store 51(u16v) 124 129: 15(ptr) AccessChain 51(u16v) 128 130: 14(int16_t) Load 129 131: 17(int16_t) Load 57(i16) 132: 14(int16_t) Bitcast 131 133: 125(bool) INotEqual 130 132 Store 127(b) 133 134: 17(int16_t) Load 57(i16) 135: 14(int16_t) Bitcast 134 136: 15(ptr) AccessChain 51(u16v) 128 137: 14(int16_t) Load 136 138: 125(bool) IEqual 135 137 Store 127(b) 138 139: 15(ptr) AccessChain 51(u16v) 128 140: 14(int16_t) Load 139 141: 15(ptr) AccessChain 51(u16v) 111 142: 14(int16_t) Load 141 143: 125(bool) UGreaterThan 140 142 Store 127(b) 143 144: 17(int16_t) Load 57(i16) 145: 28(int) SConvert 144 146: 18(int) Bitcast 145 149: 18(int) Load 148(u) 150: 125(bool) ULessThan 146 149 Store 127(b) 150 151: 15(ptr) AccessChain 51(u16v) 111 152: 14(int16_t) Load 151 153: 15(ptr) AccessChain 51(u16v) 128 154: 14(int16_t) Load 153 155: 125(bool) UGreaterThanEqual 152 154 Store 127(b) 155 156: 17(int16_t) Load 57(i16) 157: 28(int) SConvert 156 160: 28(int) Load 159(i) 161: 125(bool) SLessThanEqual 157 160 Store 127(b) 161 162: 17(int16_t) Load 57(i16) 163: 14(int16_t) Bitcast 162 164: 49(i16vec3) Load 51(u16v) 165: 49(i16vec3) CompositeConstruct 163 163 163 166: 49(i16vec3) BitwiseOr 164 165 Store 51(u16v) 166 167: 17(int16_t) Load 57(i16) 168: 14(int16_t) Bitcast 167 169: 14(int16_t) Load 70(u16) 170: 14(int16_t) BitwiseOr 168 169 Store 70(u16) 170 171: 17(int16_t) Load 57(i16) 172: 17(int16_t) Load 57(i16) 173: 17(int16_t) BitwiseAnd 172 171 Store 57(i16) 173 174: 49(i16vec3) Load 51(u16v) 175: 49(i16vec3) Load 51(u16v) 176: 49(i16vec3) BitwiseAnd 174 175 Store 51(u16v) 176 177: 17(int16_t) Load 57(i16) 178: 14(int16_t) Bitcast 177 179: 49(i16vec3) Load 51(u16v) 180: 49(i16vec3) CompositeConstruct 178 178 178 181: 49(i16vec3) BitwiseXor 179 180 Store 51(u16v) 181 182: 49(i16vec3) Load 51(u16v) 183: 17(int16_t) Load 57(i16) 184: 14(int16_t) Bitcast 183 185: 49(i16vec3) CompositeConstruct 184 184 184 186: 49(i16vec3) BitwiseXor 182 185 Store 51(u16v) 186 Return FunctionEnd 10(typeCast(): 2 Function None 3 11: Label 189(i16v): 188(ptr) Variable Function 192(bv): 191(ptr) Variable Function 200(u16v): 199(ptr) Variable Function 213(iv): 212(ptr) Variable Function 226(uv): 225(ptr) Variable Function 240(fv): 239(ptr) Variable Function 252(dv): 251(ptr) Variable Function 264(f16v): 263(ptr) Variable Function 276(i64v): 275(ptr) Variable Function 290(u64v): 289(ptr) Variable Function 193: 190(bvec2) Load 192(bv) 197:187(i16vec2) Select 193 196 195 Store 189(i16v) 197 201: 190(bvec2) Load 192(bv) 206:198(i16vec2) Select 201 205 204 Store 200(u16v) 206 207:187(i16vec2) Load 189(i16v) 208: 190(bvec2) INotEqual 207 204 Store 192(bv) 208 209:198(i16vec2) Load 200(u16v) 210: 190(bvec2) INotEqual 209 204 Store 192(bv) 210 214: 211(ivec2) Load 213(iv) 215:187(i16vec2) SConvert 214 Store 189(i16v) 215 216: 211(ivec2) Load 213(iv) 217:187(i16vec2) SConvert 216 218:198(i16vec2) Bitcast 217 Store 200(u16v) 218 219:187(i16vec2) Load 189(i16v) 220: 211(ivec2) SConvert 219 Store 213(iv) 220 221:198(i16vec2) Load 200(u16v) 223: 222(ivec2) UConvert 221 224: 211(ivec2) Bitcast 223 Store 213(iv) 224 227: 222(ivec2) Load 226(uv) 228:198(i16vec2) UConvert 227 229:187(i16vec2) Bitcast 228 Store 189(i16v) 229 230: 222(ivec2) Load 226(uv) 231:198(i16vec2) UConvert 230 Store 200(u16v) 231 232:187(i16vec2) Load 189(i16v) 233: 211(ivec2) SConvert 232 234: 222(ivec2) Bitcast 233 Store 226(uv) 234 235:198(i16vec2) Load 200(u16v) 236: 222(ivec2) UConvert 235 Store 226(uv) 236 241: 238(fvec2) Load 240(fv) 242:187(i16vec2) ConvertFToS 241 Store 189(i16v) 242 243: 238(fvec2) Load 240(fv) 244:198(i16vec2) ConvertFToU 243 Store 200(u16v) 244 245:187(i16vec2) Load 189(i16v) 246: 238(fvec2) ConvertSToF 245 Store 240(fv) 246 247:198(i16vec2) Load 200(u16v) 248: 238(fvec2) ConvertUToF 247 Store 240(fv) 248 253:250(f64vec2) Load 252(dv) 254:187(i16vec2) ConvertFToS 253 Store 189(i16v) 254 255:250(f64vec2) Load 252(dv) 256:198(i16vec2) ConvertFToU 255 Store 200(u16v) 256 257:187(i16vec2) Load 189(i16v) 258:250(f64vec2) ConvertSToF 257 Store 252(dv) 258 259:198(i16vec2) Load 200(u16v) 260:250(f64vec2) ConvertUToF 259 Store 252(dv) 260 265:262(f16vec2) Load 264(f16v) 266:187(i16vec2) ConvertFToS 265 Store 189(i16v) 266 267:262(f16vec2) Load 264(f16v) 268:198(i16vec2) ConvertFToU 267 Store 200(u16v) 268 269:187(i16vec2) Load 189(i16v) 270:262(f16vec2) ConvertSToF 269 Store 264(f16v) 270 271:198(i16vec2) Load 200(u16v) 272:262(f16vec2) ConvertUToF 271 Store 264(f16v) 272 277:274(i64vec2) Load 276(i64v) 278:187(i16vec2) SConvert 277 Store 189(i16v) 278 279:274(i64vec2) Load 276(i64v) 280:187(i16vec2) SConvert 279 281:198(i16vec2) Bitcast 280 Store 200(u16v) 281 282:187(i16vec2) Load 189(i16v) 283:274(i64vec2) SConvert 282 Store 276(i64v) 283 284:198(i16vec2) Load 200(u16v) 287:286(i64vec2) UConvert 284 288:274(i64vec2) Bitcast 287 Store 276(i64v) 288 291:286(i64vec2) Load 290(u64v) 292:198(i16vec2) UConvert 291 293:187(i16vec2) Bitcast 292 Store 189(i16v) 293 294:286(i64vec2) Load 290(u64v) 295:198(i16vec2) UConvert 294 Store 200(u16v) 295 296:187(i16vec2) Load 189(i16v) 297:274(i64vec2) SConvert 296 298:286(i64vec2) Bitcast 297 Store 290(u64v) 298 299:198(i16vec2) Load 200(u16v) 300:286(i64vec2) UConvert 299 Store 290(u64v) 300 301:198(i16vec2) Load 200(u16v) 302:187(i16vec2) Bitcast 301 Store 189(i16v) 302 303:187(i16vec2) Load 189(i16v) 304:198(i16vec2) Bitcast 303 Store 200(u16v) 304 Return FunctionEnd 12(builtinFuncs(): 2 Function None 3 13: Label 305(i16v): 188(ptr) Variable Function 311(i16): 35(ptr) Variable Function 319(u16v): 50(ptr) Variable Function 321(u16): 15(ptr) Variable Function 393(f16v): 392(ptr) Variable Function 396(exp): 395(ptr) Variable Function 418(packi): 158(ptr) Variable Function 423(packu): 147(ptr) Variable Function 432(packi64): 431(ptr) Variable Function 441(packu64): 440(ptr) Variable Function 450(bv): 449(ptr) Variable Function 306:187(i16vec2) Load 305(i16v) 307:187(i16vec2) ExtInst 1(GLSL.std.450) 5(SAbs) 306 Store 305(i16v) 307 308:187(i16vec2) Load 305(i16v) 309:187(i16vec2) ExtInst 1(GLSL.std.450) 7(SSign) 308 Store 305(i16v) 309 310:187(i16vec2) Load 305(i16v) 312: 17(int16_t) Load 311(i16) 313:187(i16vec2) CompositeConstruct 312 312 314:187(i16vec2) ExtInst 1(GLSL.std.450) 39(SMin) 310 313 Store 305(i16v) 314 315:187(i16vec2) Load 305(i16v) 318:187(i16vec2) ExtInst 1(GLSL.std.450) 39(SMin) 315 317 Store 305(i16v) 318 320: 49(i16vec3) Load 319(u16v) 322: 14(int16_t) Load 321(u16) 323: 49(i16vec3) CompositeConstruct 322 322 322 324: 49(i16vec3) ExtInst 1(GLSL.std.450) 38(UMin) 320 323 Store 319(u16v) 324 325: 49(i16vec3) Load 319(u16v) 327: 49(i16vec3) ExtInst 1(GLSL.std.450) 38(UMin) 325 326 Store 319(u16v) 327 328:187(i16vec2) Load 305(i16v) 329: 17(int16_t) Load 311(i16) 330:187(i16vec2) CompositeConstruct 329 329 331:187(i16vec2) ExtInst 1(GLSL.std.450) 42(SMax) 328 330 Store 305(i16v) 331 332:187(i16vec2) Load 305(i16v) 333:187(i16vec2) ExtInst 1(GLSL.std.450) 42(SMax) 332 317 Store 305(i16v) 333 334: 49(i16vec3) Load 319(u16v) 335: 14(int16_t) Load 321(u16) 336: 49(i16vec3) CompositeConstruct 335 335 335 337: 49(i16vec3) ExtInst 1(GLSL.std.450) 41(UMax) 334 336 Store 319(u16v) 337 338: 49(i16vec3) Load 319(u16v) 339: 49(i16vec3) ExtInst 1(GLSL.std.450) 41(UMax) 338 326 Store 319(u16v) 339 340:187(i16vec2) Load 305(i16v) 341: 17(int16_t) Load 311(i16) 342: 17(int16_t) SNegate 341 343: 17(int16_t) Load 311(i16) 344:187(i16vec2) CompositeConstruct 342 342 345:187(i16vec2) CompositeConstruct 343 343 346:187(i16vec2) ExtInst 1(GLSL.std.450) 45(SClamp) 340 344 345 Store 305(i16v) 346 347:187(i16vec2) Load 305(i16v) 348:187(i16vec2) Load 305(i16v) 349:187(i16vec2) SNegate 348 350:187(i16vec2) Load 305(i16v) 351:187(i16vec2) ExtInst 1(GLSL.std.450) 45(SClamp) 347 349 350 Store 305(i16v) 351 352: 49(i16vec3) Load 319(u16v) 353: 14(int16_t) Load 321(u16) 354: 14(int16_t) SNegate 353 355: 14(int16_t) Load 321(u16) 356: 49(i16vec3) CompositeConstruct 354 354 354 357: 49(i16vec3) CompositeConstruct 355 355 355 358: 49(i16vec3) ExtInst 1(GLSL.std.450) 44(UClamp) 352 356 357 Store 319(u16v) 358 359: 49(i16vec3) Load 319(u16v) 360: 49(i16vec3) Load 319(u16v) 361: 49(i16vec3) SNegate 360 362: 49(i16vec3) Load 319(u16v) 363: 49(i16vec3) ExtInst 1(GLSL.std.450) 44(UClamp) 359 361 362 Store 319(u16v) 363 364: 35(ptr) AccessChain 305(i16v) 128 365: 17(int16_t) Load 364 366: 35(ptr) AccessChain 305(i16v) 111 367: 17(int16_t) Load 366 369: 17(int16_t) Select 368 367 365 Store 311(i16) 369 370: 17(int16_t) Load 311(i16) 371:187(i16vec2) CompositeConstruct 370 370 372: 17(int16_t) Load 311(i16) 373: 17(int16_t) SNegate 372 374:187(i16vec2) CompositeConstruct 373 373 377:187(i16vec2) Select 376 374 371 Store 305(i16v) 377 378: 15(ptr) AccessChain 319(u16v) 128 379: 14(int16_t) Load 378 380: 15(ptr) AccessChain 319(u16v) 111 381: 14(int16_t) Load 380 382: 14(int16_t) Select 368 381 379 Store 321(u16) 382 383: 14(int16_t) Load 321(u16) 384: 49(i16vec3) CompositeConstruct 383 383 383 385: 14(int16_t) Load 321(u16) 386: 14(int16_t) SNegate 385 387: 49(i16vec3) CompositeConstruct 386 386 386 390: 49(i16vec3) Select 389 387 384 Store 319(u16v) 390 394:391(f16vec3) Load 393(f16v) 398:397(ResType) ExtInst 1(GLSL.std.450) 52(FrexpStruct) 394 399: 54(i16vec3) CompositeExtract 398 1 Store 396(exp) 399 400:391(f16vec3) CompositeExtract 398 0 Store 393(f16v) 400 401:391(f16vec3) Load 393(f16v) 402: 54(i16vec3) Load 396(exp) 403:391(f16vec3) ExtInst 1(GLSL.std.450) 53(Ldexp) 401 402 Store 393(f16v) 403 404:391(f16vec3) Load 393(f16v) 405:262(f16vec2) VectorShuffle 404 404 0 1 406:187(i16vec2) Bitcast 405 Store 305(i16v) 406 408: 407(ptr) AccessChain 393(f16v) 117 409:261(float16_t) Load 408 410: 14(int16_t) Bitcast 409 411: 15(ptr) AccessChain 319(u16v) 128 Store 411 410 412:187(i16vec2) Load 305(i16v) 413:262(f16vec2) Bitcast 412 414:391(f16vec3) Load 393(f16v) 415:391(f16vec3) VectorShuffle 414 413 3 4 2 Store 393(f16v) 415 416: 49(i16vec3) Load 319(u16v) 417:391(f16vec3) Bitcast 416 Store 393(f16v) 417 419:187(i16vec2) Load 305(i16v) 420: 28(int) Bitcast 419 Store 418(packi) 420 421: 28(int) Load 418(packi) 422:187(i16vec2) Bitcast 421 Store 305(i16v) 422 424: 49(i16vec3) Load 319(u16v) 425:198(i16vec2) VectorShuffle 424 424 0 1 426: 18(int) Bitcast 425 Store 423(packu) 426 427: 18(int) Load 423(packu) 428:198(i16vec2) Bitcast 427 429: 49(i16vec3) Load 319(u16v) 430: 49(i16vec3) VectorShuffle 429 428 3 4 2 Store 319(u16v) 430 433: 17(int16_t) Load 311(i16) 435:434(i16vec4) CompositeConstruct 433 433 433 433 436:273(int64_t) Bitcast 435 Store 432(packi64) 436 437:273(int64_t) Load 432(packi64) 438:434(i16vec4) Bitcast 437 439:187(i16vec2) VectorShuffle 438 438 0 1 Store 305(i16v) 439 442: 14(int16_t) Load 321(u16) 444:443(i16vec4) CompositeConstruct 442 442 442 442 445:285(int64_t) Bitcast 444 Store 441(packu64) 445 446:285(int64_t) Load 441(packu64) 447:443(i16vec4) Bitcast 446 448: 49(i16vec3) VectorShuffle 447 447 0 1 2 Store 319(u16v) 448 451: 49(i16vec3) Load 319(u16v) 452: 14(int16_t) Load 321(u16) 453: 49(i16vec3) CompositeConstruct 452 452 452 454: 388(bvec3) ULessThan 451 453 Store 450(bv) 454 455:187(i16vec2) Load 305(i16v) 456: 17(int16_t) Load 311(i16) 457:187(i16vec2) CompositeConstruct 456 456 458: 190(bvec2) SLessThan 455 457 459: 388(bvec3) Load 450(bv) 460: 388(bvec3) VectorShuffle 459 458 3 4 2 Store 450(bv) 460 461: 49(i16vec3) Load 319(u16v) 462: 14(int16_t) Load 321(u16) 463: 49(i16vec3) CompositeConstruct 462 462 462 464: 388(bvec3) ULessThanEqual 461 463 Store 450(bv) 464 465:187(i16vec2) Load 305(i16v) 466: 17(int16_t) Load 311(i16) 467:187(i16vec2) CompositeConstruct 466 466 468: 190(bvec2) SLessThanEqual 465 467 469: 388(bvec3) Load 450(bv) 470: 388(bvec3) VectorShuffle 469 468 3 4 2 Store 450(bv) 470 471: 49(i16vec3) Load 319(u16v) 472: 14(int16_t) Load 321(u16) 473: 49(i16vec3) CompositeConstruct 472 472 472 474: 388(bvec3) UGreaterThan 471 473 Store 450(bv) 474 475:187(i16vec2) Load 305(i16v) 476: 17(int16_t) Load 311(i16) 477:187(i16vec2) CompositeConstruct 476 476 478: 190(bvec2) SGreaterThan 475 477 479: 388(bvec3) Load 450(bv) 480: 388(bvec3) VectorShuffle 479 478 3 4 2 Store 450(bv) 480 481: 49(i16vec3) Load 319(u16v) 482: 14(int16_t) Load 321(u16) 483: 49(i16vec3) CompositeConstruct 482 482 482 484: 388(bvec3) UGreaterThanEqual 481 483 Store 450(bv) 484 485:187(i16vec2) Load 305(i16v) 486: 17(int16_t) Load 311(i16) 487:187(i16vec2) CompositeConstruct 486 486 488: 190(bvec2) SGreaterThanEqual 485 487 489: 388(bvec3) Load 450(bv) 490: 388(bvec3) VectorShuffle 489 488 3 4 2 Store 450(bv) 490 491: 49(i16vec3) Load 319(u16v) 492: 14(int16_t) Load 321(u16) 493: 49(i16vec3) CompositeConstruct 492 492 492 494: 388(bvec3) IEqual 491 493 Store 450(bv) 494 495:187(i16vec2) Load 305(i16v) 496: 17(int16_t) Load 311(i16) 497:187(i16vec2) CompositeConstruct 496 496 498: 190(bvec2) IEqual 495 497 499: 388(bvec3) Load 450(bv) 500: 388(bvec3) VectorShuffle 499 498 3 4 2 Store 450(bv) 500 501: 49(i16vec3) Load 319(u16v) 502: 14(int16_t) Load 321(u16) 503: 49(i16vec3) CompositeConstruct 502 502 502 504: 388(bvec3) INotEqual 501 503 Store 450(bv) 504 505:187(i16vec2) Load 305(i16v) 506: 17(int16_t) Load 311(i16) 507:187(i16vec2) CompositeConstruct 506 506 508: 190(bvec2) INotEqual 505 507 509: 388(bvec3) Load 450(bv) 510: 388(bvec3) VectorShuffle 509 508 3 4 2 Store 450(bv) 510 Return FunctionEnd