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