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