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