spv.int16.amd.frag // Module Version 10000 // Generated by (magic number): 8000b // Id's are bound by 576 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" 535 537 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 420 "packi" Name 425 "packu" Name 436 "packi64" Name 445 "packu64" Name 454 "bv" Name 531 "Block" MemberName 531(Block) 0 "i16v" MemberName 531(Block) 1 "u16" Name 533 "block" Name 535 "iu16v" Name 537 "ii16" Name 538 "si64" Name 539 "su64" Name 540 "si" Name 541 "su" Name 542 "sb" Name 543 "si16" Name 544 "su16" Name 545 "i16_to_b" Name 546 "u16_to_b" Name 547 "b_to_i16" Name 548 "b_to_u16" Name 549 "i16_to_i" Name 551 "u16_to_i" Name 552 "i_to_i16" Name 554 "i_to_u16" Name 556 "i16_to_u" Name 557 "u16_to_u" Name 559 "u_to_i16" Name 560 "u_to_u16" Name 561 "i16_to_i64" Name 564 "u16_to_i64" Name 565 "i64_to_i16" Name 567 "i64_to_u16" Name 569 "i16_to_u64" Name 570 "u16_to_u64" Name 572 "u64_to_i16" Name 573 "u64_to_u16" Name 574 "i16_to_u16" Name 575 "u16_to_i16" MemberDecorate 25(Uniforms) 0 Offset 0 Decorate 25(Uniforms) Block Decorate 27 DescriptorSet 0 Decorate 27 Binding 0 MemberDecorate 531(Block) 0 Offset 0 MemberDecorate 531(Block) 1 Offset 6 Decorate 531(Block) Block Decorate 533(block) DescriptorSet 0 Decorate 533(block) Binding 1 Decorate 535(iu16v) Flat Decorate 535(iu16v) Location 0 Decorate 537(ii16) Flat Decorate 537(ii16) Location 1 Decorate 538(si64) SpecId 100 Decorate 539(su64) SpecId 101 Decorate 540(si) SpecId 102 Decorate 541(su) SpecId 103 Decorate 542(sb) SpecId 104 Decorate 543(si16) SpecId 105 Decorate 544(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) 435: TypePointer Function 273(int64_t) 438: TypeVector 17(int16_t) 4 444: TypePointer Function 285(int64_t) 447: TypeVector 14(int16_t) 4 453: TypePointer Function 388(bvec3) 531(Block): TypeStruct 54(i16vec3) 14(int16_t) 532: TypePointer Uniform 531(Block) 533(block): 532(ptr) Variable Uniform 534: TypePointer Input 49(i16vec3) 535(iu16v): 534(ptr) Variable Input 536: TypePointer Input 17(int16_t) 537(ii16): 536(ptr) Variable Input 538(si64):273(int64_t) SpecConstant 4294967286 4294967295 539(su64):285(int64_t) SpecConstant 20 0 540(si): 28(int) SpecConstant 4294967291 541(su): 18(int) SpecConstant 4 542(sb): 125(bool) SpecConstantTrue 543(si16): 17(int16_t) SpecConstant 4294967291 544(su16): 14(int16_t) SpecConstant 4 545(i16_to_b): 125(bool) SpecConstantOp 171 543(si16) 202 546(u16_to_b): 125(bool) SpecConstantOp 171 544(su16) 202 547(b_to_i16): 17(int16_t) SpecConstantOp 169 542(sb) 53 194 548(b_to_u16): 14(int16_t) SpecConstantOp 169 542(sb) 203 202 549(i16_to_i): 28(int) SpecConstantOp 114 543(si16) 550: 18(int) SpecConstantOp 113 544(su16) 551(u16_to_i): 28(int) SpecConstantOp 128 550 128 552(i_to_i16): 17(int16_t) SpecConstantOp 114 540(si) 553: 17(int16_t) SpecConstantOp 114 540(si) 554(i_to_u16): 14(int16_t) SpecConstantOp 128 553 202 555: 28(int) SpecConstantOp 114 543(si16) 556(i16_to_u): 18(int) SpecConstantOp 128 555 128 557(u16_to_u): 18(int) SpecConstantOp 113 544(su16) 558: 14(int16_t) SpecConstantOp 113 541(su) 559(u_to_i16): 17(int16_t) SpecConstantOp 128 558 202 560(u_to_u16): 14(int16_t) SpecConstantOp 113 541(su) 561(i16_to_i64):273(int64_t) SpecConstantOp 114 543(si16) 562:285(int64_t) SpecConstantOp 113 544(su16) 563:285(int64_t) Constant 0 0 564(u16_to_i64):273(int64_t) SpecConstantOp 128 562 563 565(i64_to_i16): 17(int16_t) SpecConstantOp 114 538(si64) 566: 17(int16_t) SpecConstantOp 114 538(si64) 567(i64_to_u16): 14(int16_t) SpecConstantOp 128 566 202 568:273(int64_t) SpecConstantOp 114 543(si16) 569(i16_to_u64):285(int64_t) SpecConstantOp 128 568 563 570(u16_to_u64):285(int64_t) SpecConstantOp 113 544(su16) 571: 14(int16_t) SpecConstantOp 113 539(su64) 572(u64_to_i16): 17(int16_t) SpecConstantOp 128 571 202 573(u64_to_u16): 14(int16_t) SpecConstantOp 113 539(su64) 574(i16_to_u16): 14(int16_t) SpecConstantOp 128 543(si16) 202 575(u16_to_i16): 17(int16_t) SpecConstantOp 128 544(su16) 202 4(main): 2 Function None 3 5: Label 527: 2 FunctionCall 6(literal() 528: 2 FunctionCall 8(operators() 529: 2 FunctionCall 10(typeCast() 530: 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 420(packi): 158(ptr) Variable Function 425(packu): 147(ptr) Variable Function 436(packi64): 435(ptr) Variable Function 445(packu64): 444(ptr) Variable Function 454(bv): 453(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: 407(ptr) AccessChain 393(f16v) 128 415:261(float16_t) CompositeExtract 413 0 Store 414 415 416: 407(ptr) AccessChain 393(f16v) 111 417:261(float16_t) CompositeExtract 413 1 Store 416 417 418: 49(i16vec3) Load 319(u16v) 419:391(f16vec3) Bitcast 418 Store 393(f16v) 419 421:187(i16vec2) Load 305(i16v) 422: 28(int) Bitcast 421 Store 420(packi) 422 423: 28(int) Load 420(packi) 424:187(i16vec2) Bitcast 423 Store 305(i16v) 424 426: 49(i16vec3) Load 319(u16v) 427:198(i16vec2) VectorShuffle 426 426 0 1 428: 18(int) Bitcast 427 Store 425(packu) 428 429: 18(int) Load 425(packu) 430:198(i16vec2) Bitcast 429 431: 15(ptr) AccessChain 319(u16v) 128 432: 14(int16_t) CompositeExtract 430 0 Store 431 432 433: 15(ptr) AccessChain 319(u16v) 111 434: 14(int16_t) CompositeExtract 430 1 Store 433 434 437: 17(int16_t) Load 311(i16) 439:438(i16vec4) CompositeConstruct 437 437 437 437 440:273(int64_t) Bitcast 439 Store 436(packi64) 440 441:273(int64_t) Load 436(packi64) 442:438(i16vec4) Bitcast 441 443:187(i16vec2) VectorShuffle 442 442 0 1 Store 305(i16v) 443 446: 14(int16_t) Load 321(u16) 448:447(i16vec4) CompositeConstruct 446 446 446 446 449:285(int64_t) Bitcast 448 Store 445(packu64) 449 450:285(int64_t) Load 445(packu64) 451:447(i16vec4) Bitcast 450 452: 49(i16vec3) VectorShuffle 451 451 0 1 2 Store 319(u16v) 452 455: 49(i16vec3) Load 319(u16v) 456: 14(int16_t) Load 321(u16) 457: 49(i16vec3) CompositeConstruct 456 456 456 458: 388(bvec3) ULessThan 455 457 Store 454(bv) 458 459:187(i16vec2) Load 305(i16v) 460: 17(int16_t) Load 311(i16) 461:187(i16vec2) CompositeConstruct 460 460 462: 190(bvec2) SLessThan 459 461 463: 126(ptr) AccessChain 454(bv) 128 464: 125(bool) CompositeExtract 462 0 Store 463 464 465: 126(ptr) AccessChain 454(bv) 111 466: 125(bool) CompositeExtract 462 1 Store 465 466 467: 49(i16vec3) Load 319(u16v) 468: 14(int16_t) Load 321(u16) 469: 49(i16vec3) CompositeConstruct 468 468 468 470: 388(bvec3) ULessThanEqual 467 469 Store 454(bv) 470 471:187(i16vec2) Load 305(i16v) 472: 17(int16_t) Load 311(i16) 473:187(i16vec2) CompositeConstruct 472 472 474: 190(bvec2) SLessThanEqual 471 473 475: 126(ptr) AccessChain 454(bv) 128 476: 125(bool) CompositeExtract 474 0 Store 475 476 477: 126(ptr) AccessChain 454(bv) 111 478: 125(bool) CompositeExtract 474 1 Store 477 478 479: 49(i16vec3) Load 319(u16v) 480: 14(int16_t) Load 321(u16) 481: 49(i16vec3) CompositeConstruct 480 480 480 482: 388(bvec3) UGreaterThan 479 481 Store 454(bv) 482 483:187(i16vec2) Load 305(i16v) 484: 17(int16_t) Load 311(i16) 485:187(i16vec2) CompositeConstruct 484 484 486: 190(bvec2) SGreaterThan 483 485 487: 126(ptr) AccessChain 454(bv) 128 488: 125(bool) CompositeExtract 486 0 Store 487 488 489: 126(ptr) AccessChain 454(bv) 111 490: 125(bool) CompositeExtract 486 1 Store 489 490 491: 49(i16vec3) Load 319(u16v) 492: 14(int16_t) Load 321(u16) 493: 49(i16vec3) CompositeConstruct 492 492 492 494: 388(bvec3) UGreaterThanEqual 491 493 Store 454(bv) 494 495:187(i16vec2) Load 305(i16v) 496: 17(int16_t) Load 311(i16) 497:187(i16vec2) CompositeConstruct 496 496 498: 190(bvec2) SGreaterThanEqual 495 497 499: 126(ptr) AccessChain 454(bv) 128 500: 125(bool) CompositeExtract 498 0 Store 499 500 501: 126(ptr) AccessChain 454(bv) 111 502: 125(bool) CompositeExtract 498 1 Store 501 502 503: 49(i16vec3) Load 319(u16v) 504: 14(int16_t) Load 321(u16) 505: 49(i16vec3) CompositeConstruct 504 504 504 506: 388(bvec3) IEqual 503 505 Store 454(bv) 506 507:187(i16vec2) Load 305(i16v) 508: 17(int16_t) Load 311(i16) 509:187(i16vec2) CompositeConstruct 508 508 510: 190(bvec2) IEqual 507 509 511: 126(ptr) AccessChain 454(bv) 128 512: 125(bool) CompositeExtract 510 0 Store 511 512 513: 126(ptr) AccessChain 454(bv) 111 514: 125(bool) CompositeExtract 510 1 Store 513 514 515: 49(i16vec3) Load 319(u16v) 516: 14(int16_t) Load 321(u16) 517: 49(i16vec3) CompositeConstruct 516 516 516 518: 388(bvec3) INotEqual 515 517 Store 454(bv) 518 519:187(i16vec2) Load 305(i16v) 520: 17(int16_t) Load 311(i16) 521:187(i16vec2) CompositeConstruct 520 520 522: 190(bvec2) INotEqual 519 521 523: 126(ptr) AccessChain 454(bv) 128 524: 125(bool) CompositeExtract 522 0 Store 523 524 525: 126(ptr) AccessChain 454(bv) 111 526: 125(bool) CompositeExtract 522 1 Store 525 526 Return FunctionEnd