glslang/Test/baseResults/spv.int32.frag.out
Steven Perron 33c7e30860
Don't emit duplicate decorations. (#3635)
It is invalid if the same decoration is applied to the same id multiple
times. This adds a check before adding a decoration that the decoration
is not already in the list. If it is, then the duplicate is not added.

Fixes #3627
2024-06-28 19:16:59 -04:00

725 lines
35 KiB
Plaintext

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