Full vector and fully specified vector swizzle stores are not affected by this change, only partial swizzles ie swizzles with fewer components than the vector being stored to. Previously the vector being stored to loaded and any components not specified in the swizzle were used to create a full store to the vector. While this change generates more SPIR-V instructions, it is necessary for correctness. Fixes #2518.
576 lines
31 KiB
Plaintext
576 lines
31 KiB
Plaintext
spv.subgroupBallot.comp
|
|
// Module Version 10300
|
|
// Generated by (magic number): 8000a
|
|
// Id's are bound by 437
|
|
|
|
Capability Shader
|
|
Capability Float64
|
|
Capability GroupNonUniform
|
|
Capability GroupNonUniformBallot
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint GLCompute 4 "main" 10 12 21 23 26 29 32
|
|
ExecutionMode 4 LocalSize 8 8 1
|
|
Source GLSL 450
|
|
SourceExtension "GL_KHR_shader_subgroup_ballot"
|
|
SourceExtension "GL_KHR_shader_subgroup_basic"
|
|
Name 4 "main"
|
|
Name 8 "invocation"
|
|
Name 10 "gl_SubgroupInvocationID"
|
|
Name 12 "gl_SubgroupSize"
|
|
Name 19 "relMask"
|
|
Name 21 "gl_SubgroupEqMask"
|
|
Name 23 "gl_SubgroupGeMask"
|
|
Name 26 "gl_SubgroupGtMask"
|
|
Name 29 "gl_SubgroupLeMask"
|
|
Name 32 "gl_SubgroupLtMask"
|
|
Name 35 "result"
|
|
Name 46 "Buffers"
|
|
MemberName 46(Buffers) 0 "f4"
|
|
MemberName 46(Buffers) 1 "i4"
|
|
MemberName 46(Buffers) 2 "u4"
|
|
MemberName 46(Buffers) 3 "d4"
|
|
Name 49 "data"
|
|
Decorate 10(gl_SubgroupInvocationID) RelaxedPrecision
|
|
Decorate 10(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
|
|
Decorate 11 RelaxedPrecision
|
|
Decorate 12(gl_SubgroupSize) RelaxedPrecision
|
|
Decorate 12(gl_SubgroupSize) BuiltIn SubgroupSize
|
|
Decorate 13 RelaxedPrecision
|
|
Decorate 14 RelaxedPrecision
|
|
Decorate 16 RelaxedPrecision
|
|
Decorate 21(gl_SubgroupEqMask) BuiltIn SubgroupEqMaskKHR
|
|
Decorate 23(gl_SubgroupGeMask) BuiltIn SubgroupGeMaskKHR
|
|
Decorate 26(gl_SubgroupGtMask) BuiltIn SubgroupGtMaskKHR
|
|
Decorate 29(gl_SubgroupLeMask) BuiltIn SubgroupLeMaskKHR
|
|
Decorate 32(gl_SubgroupLtMask) BuiltIn SubgroupLtMaskKHR
|
|
MemberDecorate 46(Buffers) 0 Offset 0
|
|
MemberDecorate 46(Buffers) 1 Offset 16
|
|
MemberDecorate 46(Buffers) 2 Offset 32
|
|
MemberDecorate 46(Buffers) 3 Offset 64
|
|
Decorate 46(Buffers) Block
|
|
Decorate 49(data) DescriptorSet 0
|
|
Decorate 49(data) Binding 0
|
|
Decorate 436 BuiltIn WorkgroupSize
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeInt 32 0
|
|
7: TypePointer Function 6(int)
|
|
9: TypePointer Input 6(int)
|
|
10(gl_SubgroupInvocationID): 9(ptr) Variable Input
|
|
12(gl_SubgroupSize): 9(ptr) Variable Input
|
|
15: 6(int) Constant 4
|
|
17: TypeVector 6(int) 4
|
|
18: TypePointer Function 17(ivec4)
|
|
20: TypePointer Input 17(ivec4)
|
|
21(gl_SubgroupEqMask): 20(ptr) Variable Input
|
|
23(gl_SubgroupGeMask): 20(ptr) Variable Input
|
|
26(gl_SubgroupGtMask): 20(ptr) Variable Input
|
|
29(gl_SubgroupLeMask): 20(ptr) Variable Input
|
|
32(gl_SubgroupLtMask): 20(ptr) Variable Input
|
|
36: TypeBool
|
|
37: 36(bool) ConstantTrue
|
|
38: 6(int) Constant 3
|
|
40: TypeFloat 32
|
|
41: TypeVector 40(float) 4
|
|
42: TypeInt 32 1
|
|
43: TypeVector 42(int) 4
|
|
44: TypeFloat 64
|
|
45: TypeVector 44(float64_t) 4
|
|
46(Buffers): TypeStruct 41(fvec4) 43(ivec4) 17(ivec4) 45(f64vec4)
|
|
47: TypeArray 46(Buffers) 15
|
|
48: TypePointer StorageBuffer 47
|
|
49(data): 48(ptr) Variable StorageBuffer
|
|
51: 42(int) Constant 2
|
|
54: 6(int) Constant 0
|
|
55: TypePointer StorageBuffer 6(int)
|
|
60: 42(int) Constant 1
|
|
61: 42(int) Constant 0
|
|
64: 6(int) Constant 1
|
|
72: 6(int) Constant 2
|
|
83: TypeVector 36(bool) 4
|
|
88: TypePointer StorageBuffer 17(ivec4)
|
|
96: TypePointer StorageBuffer 40(float)
|
|
102: TypeVector 40(float) 2
|
|
103: TypePointer StorageBuffer 41(fvec4)
|
|
113: TypeVector 40(float) 3
|
|
125: 42(int) Constant 3
|
|
131: TypePointer StorageBuffer 42(int)
|
|
137: TypeVector 42(int) 2
|
|
138: TypePointer StorageBuffer 43(ivec4)
|
|
148: TypeVector 42(int) 3
|
|
170: TypeVector 6(int) 2
|
|
180: TypeVector 6(int) 3
|
|
197: TypePointer StorageBuffer 44(float64_t)
|
|
203: TypeVector 44(float64_t) 2
|
|
204: TypePointer StorageBuffer 45(f64vec4)
|
|
214: TypeVector 44(float64_t) 3
|
|
241: 137(ivec2) ConstantComposite 61 61
|
|
242: TypeVector 36(bool) 2
|
|
245: 137(ivec2) ConstantComposite 60 60
|
|
255: 148(ivec3) ConstantComposite 61 61 61
|
|
256: TypeVector 36(bool) 3
|
|
259: 148(ivec3) ConstantComposite 60 60 60
|
|
270: 43(ivec4) ConstantComposite 61 61 61 61
|
|
273: 43(ivec4) ConstantComposite 60 60 60 60
|
|
435: 6(int) Constant 8
|
|
436: 180(ivec3) ConstantComposite 435 435 64
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
8(invocation): 7(ptr) Variable Function
|
|
19(relMask): 18(ptr) Variable Function
|
|
35(result): 18(ptr) Variable Function
|
|
11: 6(int) Load 10(gl_SubgroupInvocationID)
|
|
13: 6(int) Load 12(gl_SubgroupSize)
|
|
14: 6(int) IAdd 11 13
|
|
16: 6(int) UMod 14 15
|
|
Store 8(invocation) 16
|
|
22: 17(ivec4) Load 21(gl_SubgroupEqMask)
|
|
24: 17(ivec4) Load 23(gl_SubgroupGeMask)
|
|
25: 17(ivec4) IAdd 22 24
|
|
27: 17(ivec4) Load 26(gl_SubgroupGtMask)
|
|
28: 17(ivec4) IAdd 25 27
|
|
30: 17(ivec4) Load 29(gl_SubgroupLeMask)
|
|
31: 17(ivec4) IAdd 28 30
|
|
33: 17(ivec4) Load 32(gl_SubgroupLtMask)
|
|
34: 17(ivec4) IAdd 31 33
|
|
Store 19(relMask) 34
|
|
39: 17(ivec4) GroupNonUniformBallot 38 37
|
|
Store 35(result) 39
|
|
50: 6(int) Load 8(invocation)
|
|
52: 17(ivec4) Load 35(result)
|
|
53: 6(int) GroupNonUniformBallotBitCount 38 Reduce 52
|
|
56: 55(ptr) AccessChain 49(data) 50 51 54
|
|
Store 56 53
|
|
57: 6(int) Load 8(invocation)
|
|
58: 17(ivec4) Load 35(result)
|
|
59: 36(bool) GroupNonUniformBallotBitExtract 38 58 54
|
|
62: 42(int) Select 59 60 61
|
|
63: 6(int) Bitcast 62
|
|
65: 55(ptr) AccessChain 49(data) 57 51 64
|
|
Store 65 63
|
|
66: 6(int) Load 8(invocation)
|
|
67: 17(ivec4) Load 35(result)
|
|
68: 6(int) GroupNonUniformBallotBitCount 38 InclusiveScan 67
|
|
69: 17(ivec4) Load 35(result)
|
|
70: 6(int) GroupNonUniformBallotBitCount 38 ExclusiveScan 69
|
|
71: 6(int) IAdd 68 70
|
|
73: 55(ptr) AccessChain 49(data) 66 51 72
|
|
Store 73 71
|
|
74: 6(int) Load 8(invocation)
|
|
75: 17(ivec4) Load 35(result)
|
|
76: 6(int) GroupNonUniformBallotFindLSB 38 75
|
|
77: 17(ivec4) Load 35(result)
|
|
78: 6(int) GroupNonUniformBallotFindMSB 38 77
|
|
79: 6(int) IAdd 76 78
|
|
80: 55(ptr) AccessChain 49(data) 74 51 38
|
|
Store 80 79
|
|
81: 17(ivec4) Load 19(relMask)
|
|
82: 17(ivec4) Load 35(result)
|
|
84: 83(bvec4) IEqual 81 82
|
|
85: 36(bool) All 84
|
|
SelectionMerge 87 None
|
|
BranchConditional 85 86 87
|
|
86: Label
|
|
89: 88(ptr) AccessChain 49(data) 61 51
|
|
90: 17(ivec4) Load 89
|
|
91: 36(bool) GroupNonUniformInverseBallot 38 90
|
|
Branch 87
|
|
87: Label
|
|
92: 36(bool) Phi 85 5 91 86
|
|
SelectionMerge 94 None
|
|
BranchConditional 92 93 276
|
|
93: Label
|
|
95: 6(int) Load 8(invocation)
|
|
97: 96(ptr) AccessChain 49(data) 61 61 54
|
|
98: 40(float) Load 97
|
|
99: 40(float) GroupNonUniformBroadcast 38 98 38
|
|
100: 96(ptr) AccessChain 49(data) 95 61 54
|
|
Store 100 99
|
|
101: 6(int) Load 8(invocation)
|
|
104: 103(ptr) AccessChain 49(data) 60 61
|
|
105: 41(fvec4) Load 104
|
|
106: 102(fvec2) VectorShuffle 105 105 0 1
|
|
107: 102(fvec2) GroupNonUniformBroadcast 38 106 38
|
|
108: 96(ptr) AccessChain 49(data) 101 61 54
|
|
109: 40(float) CompositeExtract 107 0
|
|
Store 108 109
|
|
110: 96(ptr) AccessChain 49(data) 101 61 64
|
|
111: 40(float) CompositeExtract 107 1
|
|
Store 110 111
|
|
112: 6(int) Load 8(invocation)
|
|
114: 103(ptr) AccessChain 49(data) 51 61
|
|
115: 41(fvec4) Load 114
|
|
116: 113(fvec3) VectorShuffle 115 115 0 1 2
|
|
117: 113(fvec3) GroupNonUniformBroadcast 38 116 38
|
|
118: 96(ptr) AccessChain 49(data) 112 61 54
|
|
119: 40(float) CompositeExtract 117 0
|
|
Store 118 119
|
|
120: 96(ptr) AccessChain 49(data) 112 61 64
|
|
121: 40(float) CompositeExtract 117 1
|
|
Store 120 121
|
|
122: 96(ptr) AccessChain 49(data) 112 61 72
|
|
123: 40(float) CompositeExtract 117 2
|
|
Store 122 123
|
|
124: 6(int) Load 8(invocation)
|
|
126: 103(ptr) AccessChain 49(data) 125 61
|
|
127: 41(fvec4) Load 126
|
|
128: 41(fvec4) GroupNonUniformBroadcast 38 127 38
|
|
129: 103(ptr) AccessChain 49(data) 124 61
|
|
Store 129 128
|
|
130: 6(int) Load 8(invocation)
|
|
132: 131(ptr) AccessChain 49(data) 61 60 54
|
|
133: 42(int) Load 132
|
|
134: 42(int) GroupNonUniformBroadcast 38 133 72
|
|
135: 131(ptr) AccessChain 49(data) 130 60 54
|
|
Store 135 134
|
|
136: 6(int) Load 8(invocation)
|
|
139: 138(ptr) AccessChain 49(data) 60 60
|
|
140: 43(ivec4) Load 139
|
|
141: 137(ivec2) VectorShuffle 140 140 0 1
|
|
142: 137(ivec2) GroupNonUniformBroadcast 38 141 72
|
|
143: 131(ptr) AccessChain 49(data) 136 60 54
|
|
144: 42(int) CompositeExtract 142 0
|
|
Store 143 144
|
|
145: 131(ptr) AccessChain 49(data) 136 60 64
|
|
146: 42(int) CompositeExtract 142 1
|
|
Store 145 146
|
|
147: 6(int) Load 8(invocation)
|
|
149: 138(ptr) AccessChain 49(data) 51 60
|
|
150: 43(ivec4) Load 149
|
|
151: 148(ivec3) VectorShuffle 150 150 0 1 2
|
|
152: 148(ivec3) GroupNonUniformBroadcast 38 151 72
|
|
153: 131(ptr) AccessChain 49(data) 147 60 54
|
|
154: 42(int) CompositeExtract 152 0
|
|
Store 153 154
|
|
155: 131(ptr) AccessChain 49(data) 147 60 64
|
|
156: 42(int) CompositeExtract 152 1
|
|
Store 155 156
|
|
157: 131(ptr) AccessChain 49(data) 147 60 72
|
|
158: 42(int) CompositeExtract 152 2
|
|
Store 157 158
|
|
159: 6(int) Load 8(invocation)
|
|
160: 138(ptr) AccessChain 49(data) 125 60
|
|
161: 43(ivec4) Load 160
|
|
162: 43(ivec4) GroupNonUniformBroadcast 38 161 72
|
|
163: 138(ptr) AccessChain 49(data) 159 60
|
|
Store 163 162
|
|
164: 6(int) Load 8(invocation)
|
|
165: 55(ptr) AccessChain 49(data) 61 51 54
|
|
166: 6(int) Load 165
|
|
167: 6(int) GroupNonUniformBroadcast 38 166 64
|
|
168: 55(ptr) AccessChain 49(data) 164 51 54
|
|
Store 168 167
|
|
169: 6(int) Load 8(invocation)
|
|
171: 88(ptr) AccessChain 49(data) 60 51
|
|
172: 17(ivec4) Load 171
|
|
173: 170(ivec2) VectorShuffle 172 172 0 1
|
|
174: 170(ivec2) GroupNonUniformBroadcast 38 173 64
|
|
175: 55(ptr) AccessChain 49(data) 169 51 54
|
|
176: 6(int) CompositeExtract 174 0
|
|
Store 175 176
|
|
177: 55(ptr) AccessChain 49(data) 169 51 64
|
|
178: 6(int) CompositeExtract 174 1
|
|
Store 177 178
|
|
179: 6(int) Load 8(invocation)
|
|
181: 88(ptr) AccessChain 49(data) 51 51
|
|
182: 17(ivec4) Load 181
|
|
183: 180(ivec3) VectorShuffle 182 182 0 1 2
|
|
184: 180(ivec3) GroupNonUniformBroadcast 38 183 64
|
|
185: 55(ptr) AccessChain 49(data) 179 51 54
|
|
186: 6(int) CompositeExtract 184 0
|
|
Store 185 186
|
|
187: 55(ptr) AccessChain 49(data) 179 51 64
|
|
188: 6(int) CompositeExtract 184 1
|
|
Store 187 188
|
|
189: 55(ptr) AccessChain 49(data) 179 51 72
|
|
190: 6(int) CompositeExtract 184 2
|
|
Store 189 190
|
|
191: 6(int) Load 8(invocation)
|
|
192: 88(ptr) AccessChain 49(data) 125 51
|
|
193: 17(ivec4) Load 192
|
|
194: 17(ivec4) GroupNonUniformBroadcast 38 193 64
|
|
195: 88(ptr) AccessChain 49(data) 191 51
|
|
Store 195 194
|
|
196: 6(int) Load 8(invocation)
|
|
198: 197(ptr) AccessChain 49(data) 61 125 54
|
|
199:44(float64_t) Load 198
|
|
200:44(float64_t) GroupNonUniformBroadcast 38 199 54
|
|
201: 197(ptr) AccessChain 49(data) 196 125 54
|
|
Store 201 200
|
|
202: 6(int) Load 8(invocation)
|
|
205: 204(ptr) AccessChain 49(data) 60 125
|
|
206: 45(f64vec4) Load 205
|
|
207:203(f64vec2) VectorShuffle 206 206 0 1
|
|
208:203(f64vec2) GroupNonUniformBroadcast 38 207 54
|
|
209: 197(ptr) AccessChain 49(data) 202 125 54
|
|
210:44(float64_t) CompositeExtract 208 0
|
|
Store 209 210
|
|
211: 197(ptr) AccessChain 49(data) 202 125 64
|
|
212:44(float64_t) CompositeExtract 208 1
|
|
Store 211 212
|
|
213: 6(int) Load 8(invocation)
|
|
215: 204(ptr) AccessChain 49(data) 51 125
|
|
216: 45(f64vec4) Load 215
|
|
217:214(f64vec3) VectorShuffle 216 216 0 1 2
|
|
218:214(f64vec3) GroupNonUniformBroadcast 38 217 54
|
|
219: 197(ptr) AccessChain 49(data) 213 125 54
|
|
220:44(float64_t) CompositeExtract 218 0
|
|
Store 219 220
|
|
221: 197(ptr) AccessChain 49(data) 213 125 64
|
|
222:44(float64_t) CompositeExtract 218 1
|
|
Store 221 222
|
|
223: 197(ptr) AccessChain 49(data) 213 125 72
|
|
224:44(float64_t) CompositeExtract 218 2
|
|
Store 223 224
|
|
225: 6(int) Load 8(invocation)
|
|
226: 204(ptr) AccessChain 49(data) 125 125
|
|
227: 45(f64vec4) Load 226
|
|
228: 45(f64vec4) GroupNonUniformBroadcast 38 227 54
|
|
229: 204(ptr) AccessChain 49(data) 225 125
|
|
Store 229 228
|
|
230: 6(int) Load 8(invocation)
|
|
231: 131(ptr) AccessChain 49(data) 61 60 54
|
|
232: 42(int) Load 231
|
|
233: 36(bool) SLessThan 232 61
|
|
234: 36(bool) GroupNonUniformBroadcast 38 233 64
|
|
235: 42(int) Select 234 60 61
|
|
236: 131(ptr) AccessChain 49(data) 230 60 54
|
|
Store 236 235
|
|
237: 6(int) Load 8(invocation)
|
|
238: 138(ptr) AccessChain 49(data) 60 60
|
|
239: 43(ivec4) Load 238
|
|
240: 137(ivec2) VectorShuffle 239 239 0 1
|
|
243: 242(bvec2) SLessThan 240 241
|
|
244: 242(bvec2) GroupNonUniformBroadcast 38 243 64
|
|
246: 137(ivec2) Select 244 245 241
|
|
247: 131(ptr) AccessChain 49(data) 237 60 54
|
|
248: 42(int) CompositeExtract 246 0
|
|
Store 247 248
|
|
249: 131(ptr) AccessChain 49(data) 237 60 64
|
|
250: 42(int) CompositeExtract 246 1
|
|
Store 249 250
|
|
251: 6(int) Load 8(invocation)
|
|
252: 138(ptr) AccessChain 49(data) 60 60
|
|
253: 43(ivec4) Load 252
|
|
254: 148(ivec3) VectorShuffle 253 253 0 1 2
|
|
257: 256(bvec3) SLessThan 254 255
|
|
258: 256(bvec3) GroupNonUniformBroadcast 38 257 64
|
|
260: 148(ivec3) Select 258 259 255
|
|
261: 131(ptr) AccessChain 49(data) 251 60 54
|
|
262: 42(int) CompositeExtract 260 0
|
|
Store 261 262
|
|
263: 131(ptr) AccessChain 49(data) 251 60 64
|
|
264: 42(int) CompositeExtract 260 1
|
|
Store 263 264
|
|
265: 131(ptr) AccessChain 49(data) 251 60 72
|
|
266: 42(int) CompositeExtract 260 2
|
|
Store 265 266
|
|
267: 6(int) Load 8(invocation)
|
|
268: 138(ptr) AccessChain 49(data) 60 60
|
|
269: 43(ivec4) Load 268
|
|
271: 83(bvec4) SLessThan 269 270
|
|
272: 83(bvec4) GroupNonUniformBroadcast 38 271 64
|
|
274: 43(ivec4) Select 272 273 270
|
|
275: 138(ptr) AccessChain 49(data) 267 60
|
|
Store 275 274
|
|
Branch 94
|
|
276: Label
|
|
277: 6(int) Load 8(invocation)
|
|
278: 96(ptr) AccessChain 49(data) 61 61 54
|
|
279: 40(float) Load 278
|
|
280: 40(float) GroupNonUniformBroadcastFirst 38 279
|
|
281: 96(ptr) AccessChain 49(data) 277 61 54
|
|
Store 281 280
|
|
282: 6(int) Load 8(invocation)
|
|
283: 103(ptr) AccessChain 49(data) 60 61
|
|
284: 41(fvec4) Load 283
|
|
285: 102(fvec2) VectorShuffle 284 284 0 1
|
|
286: 102(fvec2) GroupNonUniformBroadcastFirst 38 285
|
|
287: 96(ptr) AccessChain 49(data) 282 61 54
|
|
288: 40(float) CompositeExtract 286 0
|
|
Store 287 288
|
|
289: 96(ptr) AccessChain 49(data) 282 61 64
|
|
290: 40(float) CompositeExtract 286 1
|
|
Store 289 290
|
|
291: 6(int) Load 8(invocation)
|
|
292: 103(ptr) AccessChain 49(data) 51 61
|
|
293: 41(fvec4) Load 292
|
|
294: 113(fvec3) VectorShuffle 293 293 0 1 2
|
|
295: 113(fvec3) GroupNonUniformBroadcastFirst 38 294
|
|
296: 96(ptr) AccessChain 49(data) 291 61 54
|
|
297: 40(float) CompositeExtract 295 0
|
|
Store 296 297
|
|
298: 96(ptr) AccessChain 49(data) 291 61 64
|
|
299: 40(float) CompositeExtract 295 1
|
|
Store 298 299
|
|
300: 96(ptr) AccessChain 49(data) 291 61 72
|
|
301: 40(float) CompositeExtract 295 2
|
|
Store 300 301
|
|
302: 6(int) Load 8(invocation)
|
|
303: 103(ptr) AccessChain 49(data) 125 61
|
|
304: 41(fvec4) Load 303
|
|
305: 41(fvec4) GroupNonUniformBroadcastFirst 38 304
|
|
306: 103(ptr) AccessChain 49(data) 302 61
|
|
Store 306 305
|
|
307: 6(int) Load 8(invocation)
|
|
308: 131(ptr) AccessChain 49(data) 61 60 54
|
|
309: 42(int) Load 308
|
|
310: 42(int) GroupNonUniformBroadcastFirst 38 309
|
|
311: 131(ptr) AccessChain 49(data) 307 60 54
|
|
Store 311 310
|
|
312: 6(int) Load 8(invocation)
|
|
313: 138(ptr) AccessChain 49(data) 60 60
|
|
314: 43(ivec4) Load 313
|
|
315: 137(ivec2) VectorShuffle 314 314 0 1
|
|
316: 137(ivec2) GroupNonUniformBroadcastFirst 38 315
|
|
317: 131(ptr) AccessChain 49(data) 312 60 54
|
|
318: 42(int) CompositeExtract 316 0
|
|
Store 317 318
|
|
319: 131(ptr) AccessChain 49(data) 312 60 64
|
|
320: 42(int) CompositeExtract 316 1
|
|
Store 319 320
|
|
321: 6(int) Load 8(invocation)
|
|
322: 138(ptr) AccessChain 49(data) 51 60
|
|
323: 43(ivec4) Load 322
|
|
324: 148(ivec3) VectorShuffle 323 323 0 1 2
|
|
325: 148(ivec3) GroupNonUniformBroadcastFirst 38 324
|
|
326: 131(ptr) AccessChain 49(data) 321 60 54
|
|
327: 42(int) CompositeExtract 325 0
|
|
Store 326 327
|
|
328: 131(ptr) AccessChain 49(data) 321 60 64
|
|
329: 42(int) CompositeExtract 325 1
|
|
Store 328 329
|
|
330: 131(ptr) AccessChain 49(data) 321 60 72
|
|
331: 42(int) CompositeExtract 325 2
|
|
Store 330 331
|
|
332: 6(int) Load 8(invocation)
|
|
333: 138(ptr) AccessChain 49(data) 125 60
|
|
334: 43(ivec4) Load 333
|
|
335: 43(ivec4) GroupNonUniformBroadcastFirst 38 334
|
|
336: 138(ptr) AccessChain 49(data) 332 60
|
|
Store 336 335
|
|
337: 6(int) Load 8(invocation)
|
|
338: 55(ptr) AccessChain 49(data) 61 51 54
|
|
339: 6(int) Load 338
|
|
340: 6(int) GroupNonUniformBroadcastFirst 38 339
|
|
341: 55(ptr) AccessChain 49(data) 337 51 54
|
|
Store 341 340
|
|
342: 6(int) Load 8(invocation)
|
|
343: 88(ptr) AccessChain 49(data) 60 51
|
|
344: 17(ivec4) Load 343
|
|
345: 170(ivec2) VectorShuffle 344 344 0 1
|
|
346: 170(ivec2) GroupNonUniformBroadcastFirst 38 345
|
|
347: 55(ptr) AccessChain 49(data) 342 51 54
|
|
348: 6(int) CompositeExtract 346 0
|
|
Store 347 348
|
|
349: 55(ptr) AccessChain 49(data) 342 51 64
|
|
350: 6(int) CompositeExtract 346 1
|
|
Store 349 350
|
|
351: 6(int) Load 8(invocation)
|
|
352: 88(ptr) AccessChain 49(data) 51 51
|
|
353: 17(ivec4) Load 352
|
|
354: 180(ivec3) VectorShuffle 353 353 0 1 2
|
|
355: 180(ivec3) GroupNonUniformBroadcastFirst 38 354
|
|
356: 55(ptr) AccessChain 49(data) 351 51 54
|
|
357: 6(int) CompositeExtract 355 0
|
|
Store 356 357
|
|
358: 55(ptr) AccessChain 49(data) 351 51 64
|
|
359: 6(int) CompositeExtract 355 1
|
|
Store 358 359
|
|
360: 55(ptr) AccessChain 49(data) 351 51 72
|
|
361: 6(int) CompositeExtract 355 2
|
|
Store 360 361
|
|
362: 6(int) Load 8(invocation)
|
|
363: 88(ptr) AccessChain 49(data) 125 51
|
|
364: 17(ivec4) Load 363
|
|
365: 17(ivec4) GroupNonUniformBroadcastFirst 38 364
|
|
366: 88(ptr) AccessChain 49(data) 362 51
|
|
Store 366 365
|
|
367: 6(int) Load 8(invocation)
|
|
368: 197(ptr) AccessChain 49(data) 61 125 54
|
|
369:44(float64_t) Load 368
|
|
370:44(float64_t) GroupNonUniformBroadcastFirst 38 369
|
|
371: 197(ptr) AccessChain 49(data) 367 125 54
|
|
Store 371 370
|
|
372: 6(int) Load 8(invocation)
|
|
373: 204(ptr) AccessChain 49(data) 60 125
|
|
374: 45(f64vec4) Load 373
|
|
375:203(f64vec2) VectorShuffle 374 374 0 1
|
|
376:203(f64vec2) GroupNonUniformBroadcastFirst 38 375
|
|
377: 197(ptr) AccessChain 49(data) 372 125 54
|
|
378:44(float64_t) CompositeExtract 376 0
|
|
Store 377 378
|
|
379: 197(ptr) AccessChain 49(data) 372 125 64
|
|
380:44(float64_t) CompositeExtract 376 1
|
|
Store 379 380
|
|
381: 6(int) Load 8(invocation)
|
|
382: 204(ptr) AccessChain 49(data) 51 125
|
|
383: 45(f64vec4) Load 382
|
|
384:214(f64vec3) VectorShuffle 383 383 0 1 2
|
|
385:214(f64vec3) GroupNonUniformBroadcastFirst 38 384
|
|
386: 197(ptr) AccessChain 49(data) 381 125 54
|
|
387:44(float64_t) CompositeExtract 385 0
|
|
Store 386 387
|
|
388: 197(ptr) AccessChain 49(data) 381 125 64
|
|
389:44(float64_t) CompositeExtract 385 1
|
|
Store 388 389
|
|
390: 197(ptr) AccessChain 49(data) 381 125 72
|
|
391:44(float64_t) CompositeExtract 385 2
|
|
Store 390 391
|
|
392: 6(int) Load 8(invocation)
|
|
393: 204(ptr) AccessChain 49(data) 125 125
|
|
394: 45(f64vec4) Load 393
|
|
395: 45(f64vec4) GroupNonUniformBroadcastFirst 38 394
|
|
396: 204(ptr) AccessChain 49(data) 392 125
|
|
Store 396 395
|
|
397: 6(int) Load 8(invocation)
|
|
398: 131(ptr) AccessChain 49(data) 61 60 54
|
|
399: 42(int) Load 398
|
|
400: 36(bool) SLessThan 399 61
|
|
401: 36(bool) GroupNonUniformBroadcastFirst 38 400
|
|
402: 42(int) Select 401 60 61
|
|
403: 131(ptr) AccessChain 49(data) 397 60 54
|
|
Store 403 402
|
|
404: 6(int) Load 8(invocation)
|
|
405: 138(ptr) AccessChain 49(data) 60 60
|
|
406: 43(ivec4) Load 405
|
|
407: 137(ivec2) VectorShuffle 406 406 0 1
|
|
408: 242(bvec2) SLessThan 407 241
|
|
409: 242(bvec2) GroupNonUniformBroadcastFirst 38 408
|
|
410: 137(ivec2) Select 409 245 241
|
|
411: 131(ptr) AccessChain 49(data) 404 60 54
|
|
412: 42(int) CompositeExtract 410 0
|
|
Store 411 412
|
|
413: 131(ptr) AccessChain 49(data) 404 60 64
|
|
414: 42(int) CompositeExtract 410 1
|
|
Store 413 414
|
|
415: 6(int) Load 8(invocation)
|
|
416: 138(ptr) AccessChain 49(data) 60 60
|
|
417: 43(ivec4) Load 416
|
|
418: 148(ivec3) VectorShuffle 417 417 0 1 2
|
|
419: 256(bvec3) SLessThan 418 255
|
|
420: 256(bvec3) GroupNonUniformBroadcastFirst 38 419
|
|
421: 148(ivec3) Select 420 259 255
|
|
422: 131(ptr) AccessChain 49(data) 415 60 54
|
|
423: 42(int) CompositeExtract 421 0
|
|
Store 422 423
|
|
424: 131(ptr) AccessChain 49(data) 415 60 64
|
|
425: 42(int) CompositeExtract 421 1
|
|
Store 424 425
|
|
426: 131(ptr) AccessChain 49(data) 415 60 72
|
|
427: 42(int) CompositeExtract 421 2
|
|
Store 426 427
|
|
428: 6(int) Load 8(invocation)
|
|
429: 138(ptr) AccessChain 49(data) 60 60
|
|
430: 43(ivec4) Load 429
|
|
431: 83(bvec4) SLessThan 430 270
|
|
432: 83(bvec4) GroupNonUniformBroadcastFirst 38 431
|
|
433: 43(ivec4) Select 432 273 270
|
|
434: 138(ptr) AccessChain 49(data) 428 60
|
|
Store 434 433
|
|
Branch 94
|
|
94: Label
|
|
Return
|
|
FunctionEnd
|