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