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.
437 lines
23 KiB
Plaintext
437 lines
23 KiB
Plaintext
spv.shaderBallot.comp
|
|
// Module Version 10000
|
|
// Generated by (magic number): 8000a
|
|
// Id's are bound by 343
|
|
|
|
Capability Shader
|
|
Capability Int64
|
|
Capability SubgroupBallotKHR
|
|
Extension "SPV_KHR_shader_ballot"
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint GLCompute 4 "main" 10 12 22 29 36 43 50
|
|
ExecutionMode 4 LocalSize 8 8 1
|
|
Source GLSL 450
|
|
SourceExtension "GL_ARB_gpu_shader_int64"
|
|
SourceExtension "GL_ARB_shader_ballot"
|
|
Name 4 "main"
|
|
Name 8 "invocation"
|
|
Name 10 "gl_SubGroupInvocationARB"
|
|
Name 12 "gl_SubGroupSizeARB"
|
|
Name 19 "relMask"
|
|
Name 22 "gl_SubGroupEqMaskARB"
|
|
Name 29 "gl_SubGroupGeMaskARB"
|
|
Name 36 "gl_SubGroupGtMaskARB"
|
|
Name 43 "gl_SubGroupLeMaskARB"
|
|
Name 50 "gl_SubGroupLtMaskARB"
|
|
Name 72 "Buffers"
|
|
MemberName 72(Buffers) 0 "f4"
|
|
MemberName 72(Buffers) 1 "i4"
|
|
MemberName 72(Buffers) 2 "u4"
|
|
Name 75 "data"
|
|
Decorate 10(gl_SubGroupInvocationARB) BuiltIn SubgroupLocalInvocationId
|
|
Decorate 12(gl_SubGroupSizeARB) BuiltIn SubgroupSize
|
|
Decorate 22(gl_SubGroupEqMaskARB) BuiltIn SubgroupEqMaskKHR
|
|
Decorate 29(gl_SubGroupGeMaskARB) BuiltIn SubgroupGeMaskKHR
|
|
Decorate 36(gl_SubGroupGtMaskARB) BuiltIn SubgroupGtMaskKHR
|
|
Decorate 43(gl_SubGroupLeMaskARB) BuiltIn SubgroupLeMaskKHR
|
|
Decorate 50(gl_SubGroupLtMaskARB) BuiltIn SubgroupLtMaskKHR
|
|
MemberDecorate 72(Buffers) 0 Offset 0
|
|
MemberDecorate 72(Buffers) 1 Offset 16
|
|
MemberDecorate 72(Buffers) 2 Offset 32
|
|
Decorate 72(Buffers) BufferBlock
|
|
Decorate 75(data) DescriptorSet 0
|
|
Decorate 75(data) Binding 0
|
|
Decorate 342 BuiltIn WorkgroupSize
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
6: TypeInt 32 0
|
|
7: TypePointer Function 6(int)
|
|
9: TypePointer Input 6(int)
|
|
10(gl_SubGroupInvocationARB): 9(ptr) Variable Input
|
|
12(gl_SubGroupSizeARB): 9(ptr) Variable Input
|
|
15: 6(int) Constant 4
|
|
17: TypeInt 64 0
|
|
18: TypePointer Function 17(int64_t)
|
|
20: TypeVector 6(int) 4
|
|
21: TypePointer Input 20(ivec4)
|
|
22(gl_SubGroupEqMaskARB): 21(ptr) Variable Input
|
|
26: TypeVector 6(int) 2
|
|
29(gl_SubGroupGeMaskARB): 21(ptr) Variable Input
|
|
36(gl_SubGroupGtMaskARB): 21(ptr) Variable Input
|
|
43(gl_SubGroupLeMaskARB): 21(ptr) Variable Input
|
|
50(gl_SubGroupLtMaskARB): 21(ptr) Variable Input
|
|
58: TypeBool
|
|
59: 58(bool) ConstantTrue
|
|
68: TypeFloat 32
|
|
69: TypeVector 68(float) 4
|
|
70: TypeInt 32 1
|
|
71: TypeVector 70(int) 4
|
|
72(Buffers): TypeStruct 69(fvec4) 71(ivec4) 20(ivec4)
|
|
73: TypeArray 72(Buffers) 15
|
|
74: TypePointer Uniform 73
|
|
75(data): 74(ptr) Variable Uniform
|
|
77: 70(int) Constant 0
|
|
78: 6(int) Constant 0
|
|
79: TypePointer Uniform 68(float)
|
|
86: 70(int) Constant 1
|
|
87: TypeVector 68(float) 2
|
|
88: TypePointer Uniform 69(fvec4)
|
|
100: 6(int) Constant 1
|
|
104: 70(int) Constant 2
|
|
105: TypeVector 68(float) 3
|
|
121: 6(int) Constant 2
|
|
125: 70(int) Constant 3
|
|
140: TypePointer Uniform 70(int)
|
|
147: TypeVector 70(int) 2
|
|
148: TypePointer Uniform 71(ivec4)
|
|
163: TypeVector 70(int) 3
|
|
196: TypePointer Uniform 6(int)
|
|
203: TypePointer Uniform 20(ivec4)
|
|
218: TypeVector 6(int) 3
|
|
341: 6(int) Constant 8
|
|
342: 218(ivec3) ConstantComposite 341 341 100
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
8(invocation): 7(ptr) Variable Function
|
|
19(relMask): 18(ptr) Variable Function
|
|
11: 6(int) Load 10(gl_SubGroupInvocationARB)
|
|
13: 6(int) Load 12(gl_SubGroupSizeARB)
|
|
14: 6(int) IAdd 11 13
|
|
16: 6(int) UMod 14 15
|
|
Store 8(invocation) 16
|
|
23: 20(ivec4) Load 22(gl_SubGroupEqMaskARB)
|
|
24: 6(int) CompositeExtract 23 0
|
|
25: 6(int) CompositeExtract 23 1
|
|
27: 26(ivec2) CompositeConstruct 24 25
|
|
28: 17(int64_t) Bitcast 27
|
|
30: 20(ivec4) Load 29(gl_SubGroupGeMaskARB)
|
|
31: 6(int) CompositeExtract 30 0
|
|
32: 6(int) CompositeExtract 30 1
|
|
33: 26(ivec2) CompositeConstruct 31 32
|
|
34: 17(int64_t) Bitcast 33
|
|
35: 17(int64_t) IAdd 28 34
|
|
37: 20(ivec4) Load 36(gl_SubGroupGtMaskARB)
|
|
38: 6(int) CompositeExtract 37 0
|
|
39: 6(int) CompositeExtract 37 1
|
|
40: 26(ivec2) CompositeConstruct 38 39
|
|
41: 17(int64_t) Bitcast 40
|
|
42: 17(int64_t) IAdd 35 41
|
|
44: 20(ivec4) Load 43(gl_SubGroupLeMaskARB)
|
|
45: 6(int) CompositeExtract 44 0
|
|
46: 6(int) CompositeExtract 44 1
|
|
47: 26(ivec2) CompositeConstruct 45 46
|
|
48: 17(int64_t) Bitcast 47
|
|
49: 17(int64_t) IAdd 42 48
|
|
51: 20(ivec4) Load 50(gl_SubGroupLtMaskARB)
|
|
52: 6(int) CompositeExtract 51 0
|
|
53: 6(int) CompositeExtract 51 1
|
|
54: 26(ivec2) CompositeConstruct 52 53
|
|
55: 17(int64_t) Bitcast 54
|
|
56: 17(int64_t) IAdd 49 55
|
|
Store 19(relMask) 56
|
|
57: 17(int64_t) Load 19(relMask)
|
|
60: 20(ivec4) SubgroupBallotKHR 59
|
|
61: 6(int) CompositeExtract 60 0
|
|
62: 6(int) CompositeExtract 60 1
|
|
63: 26(ivec2) CompositeConstruct 61 62
|
|
64: 17(int64_t) Bitcast 63
|
|
65: 58(bool) IEqual 57 64
|
|
SelectionMerge 67 None
|
|
BranchConditional 65 66 250
|
|
66: Label
|
|
76: 6(int) Load 8(invocation)
|
|
80: 79(ptr) AccessChain 75(data) 77 77 78
|
|
81: 68(float) Load 80
|
|
82: 6(int) Load 8(invocation)
|
|
83: 68(float) SubgroupReadInvocationKHR 81 82
|
|
84: 79(ptr) AccessChain 75(data) 76 77 78
|
|
Store 84 83
|
|
85: 6(int) Load 8(invocation)
|
|
89: 88(ptr) AccessChain 75(data) 86 77
|
|
90: 69(fvec4) Load 89
|
|
91: 87(fvec2) VectorShuffle 90 90 0 1
|
|
92: 6(int) Load 8(invocation)
|
|
93: 68(float) CompositeExtract 91 0
|
|
94: 68(float) SubgroupReadInvocationKHR 93 92
|
|
95: 68(float) CompositeExtract 91 1
|
|
96: 68(float) SubgroupReadInvocationKHR 95 92
|
|
97: 87(fvec2) CompositeConstruct 94 96
|
|
98: 79(ptr) AccessChain 75(data) 85 77 78
|
|
99: 68(float) CompositeExtract 97 0
|
|
Store 98 99
|
|
101: 79(ptr) AccessChain 75(data) 85 77 100
|
|
102: 68(float) CompositeExtract 97 1
|
|
Store 101 102
|
|
103: 6(int) Load 8(invocation)
|
|
106: 88(ptr) AccessChain 75(data) 104 77
|
|
107: 69(fvec4) Load 106
|
|
108: 105(fvec3) VectorShuffle 107 107 0 1 2
|
|
109: 6(int) Load 8(invocation)
|
|
110: 68(float) CompositeExtract 108 0
|
|
111: 68(float) SubgroupReadInvocationKHR 110 109
|
|
112: 68(float) CompositeExtract 108 1
|
|
113: 68(float) SubgroupReadInvocationKHR 112 109
|
|
114: 68(float) CompositeExtract 108 2
|
|
115: 68(float) SubgroupReadInvocationKHR 114 109
|
|
116: 105(fvec3) CompositeConstruct 111 113 115
|
|
117: 79(ptr) AccessChain 75(data) 103 77 78
|
|
118: 68(float) CompositeExtract 116 0
|
|
Store 117 118
|
|
119: 79(ptr) AccessChain 75(data) 103 77 100
|
|
120: 68(float) CompositeExtract 116 1
|
|
Store 119 120
|
|
122: 79(ptr) AccessChain 75(data) 103 77 121
|
|
123: 68(float) CompositeExtract 116 2
|
|
Store 122 123
|
|
124: 6(int) Load 8(invocation)
|
|
126: 88(ptr) AccessChain 75(data) 125 77
|
|
127: 69(fvec4) Load 126
|
|
128: 6(int) Load 8(invocation)
|
|
129: 68(float) CompositeExtract 127 0
|
|
130: 68(float) SubgroupReadInvocationKHR 129 128
|
|
131: 68(float) CompositeExtract 127 1
|
|
132: 68(float) SubgroupReadInvocationKHR 131 128
|
|
133: 68(float) CompositeExtract 127 2
|
|
134: 68(float) SubgroupReadInvocationKHR 133 128
|
|
135: 68(float) CompositeExtract 127 3
|
|
136: 68(float) SubgroupReadInvocationKHR 135 128
|
|
137: 69(fvec4) CompositeConstruct 130 132 134 136
|
|
138: 88(ptr) AccessChain 75(data) 124 77
|
|
Store 138 137
|
|
139: 6(int) Load 8(invocation)
|
|
141: 140(ptr) AccessChain 75(data) 77 86 78
|
|
142: 70(int) Load 141
|
|
143: 6(int) Load 8(invocation)
|
|
144: 70(int) SubgroupReadInvocationKHR 142 143
|
|
145: 140(ptr) AccessChain 75(data) 139 86 78
|
|
Store 145 144
|
|
146: 6(int) Load 8(invocation)
|
|
149: 148(ptr) AccessChain 75(data) 86 86
|
|
150: 71(ivec4) Load 149
|
|
151: 147(ivec2) VectorShuffle 150 150 0 1
|
|
152: 6(int) Load 8(invocation)
|
|
153: 70(int) CompositeExtract 151 0
|
|
154: 70(int) SubgroupReadInvocationKHR 153 152
|
|
155: 70(int) CompositeExtract 151 1
|
|
156: 70(int) SubgroupReadInvocationKHR 155 152
|
|
157: 147(ivec2) CompositeConstruct 154 156
|
|
158: 140(ptr) AccessChain 75(data) 146 86 78
|
|
159: 70(int) CompositeExtract 157 0
|
|
Store 158 159
|
|
160: 140(ptr) AccessChain 75(data) 146 86 100
|
|
161: 70(int) CompositeExtract 157 1
|
|
Store 160 161
|
|
162: 6(int) Load 8(invocation)
|
|
164: 148(ptr) AccessChain 75(data) 104 86
|
|
165: 71(ivec4) Load 164
|
|
166: 163(ivec3) VectorShuffle 165 165 0 1 2
|
|
167: 6(int) Load 8(invocation)
|
|
168: 70(int) CompositeExtract 166 0
|
|
169: 70(int) SubgroupReadInvocationKHR 168 167
|
|
170: 70(int) CompositeExtract 166 1
|
|
171: 70(int) SubgroupReadInvocationKHR 170 167
|
|
172: 70(int) CompositeExtract 166 2
|
|
173: 70(int) SubgroupReadInvocationKHR 172 167
|
|
174: 163(ivec3) CompositeConstruct 169 171 173
|
|
175: 140(ptr) AccessChain 75(data) 162 86 78
|
|
176: 70(int) CompositeExtract 174 0
|
|
Store 175 176
|
|
177: 140(ptr) AccessChain 75(data) 162 86 100
|
|
178: 70(int) CompositeExtract 174 1
|
|
Store 177 178
|
|
179: 140(ptr) AccessChain 75(data) 162 86 121
|
|
180: 70(int) CompositeExtract 174 2
|
|
Store 179 180
|
|
181: 6(int) Load 8(invocation)
|
|
182: 148(ptr) AccessChain 75(data) 125 86
|
|
183: 71(ivec4) Load 182
|
|
184: 6(int) Load 8(invocation)
|
|
185: 70(int) CompositeExtract 183 0
|
|
186: 70(int) SubgroupReadInvocationKHR 185 184
|
|
187: 70(int) CompositeExtract 183 1
|
|
188: 70(int) SubgroupReadInvocationKHR 187 184
|
|
189: 70(int) CompositeExtract 183 2
|
|
190: 70(int) SubgroupReadInvocationKHR 189 184
|
|
191: 70(int) CompositeExtract 183 3
|
|
192: 70(int) SubgroupReadInvocationKHR 191 184
|
|
193: 71(ivec4) CompositeConstruct 186 188 190 192
|
|
194: 148(ptr) AccessChain 75(data) 181 86
|
|
Store 194 193
|
|
195: 6(int) Load 8(invocation)
|
|
197: 196(ptr) AccessChain 75(data) 77 104 78
|
|
198: 6(int) Load 197
|
|
199: 6(int) Load 8(invocation)
|
|
200: 6(int) SubgroupReadInvocationKHR 198 199
|
|
201: 196(ptr) AccessChain 75(data) 195 104 78
|
|
Store 201 200
|
|
202: 6(int) Load 8(invocation)
|
|
204: 203(ptr) AccessChain 75(data) 86 104
|
|
205: 20(ivec4) Load 204
|
|
206: 26(ivec2) VectorShuffle 205 205 0 1
|
|
207: 6(int) Load 8(invocation)
|
|
208: 6(int) CompositeExtract 206 0
|
|
209: 6(int) SubgroupReadInvocationKHR 208 207
|
|
210: 6(int) CompositeExtract 206 1
|
|
211: 6(int) SubgroupReadInvocationKHR 210 207
|
|
212: 26(ivec2) CompositeConstruct 209 211
|
|
213: 196(ptr) AccessChain 75(data) 202 104 78
|
|
214: 6(int) CompositeExtract 212 0
|
|
Store 213 214
|
|
215: 196(ptr) AccessChain 75(data) 202 104 100
|
|
216: 6(int) CompositeExtract 212 1
|
|
Store 215 216
|
|
217: 6(int) Load 8(invocation)
|
|
219: 203(ptr) AccessChain 75(data) 104 104
|
|
220: 20(ivec4) Load 219
|
|
221: 218(ivec3) VectorShuffle 220 220 0 1 2
|
|
222: 6(int) Load 8(invocation)
|
|
223: 6(int) CompositeExtract 221 0
|
|
224: 6(int) SubgroupReadInvocationKHR 223 222
|
|
225: 6(int) CompositeExtract 221 1
|
|
226: 6(int) SubgroupReadInvocationKHR 225 222
|
|
227: 6(int) CompositeExtract 221 2
|
|
228: 6(int) SubgroupReadInvocationKHR 227 222
|
|
229: 218(ivec3) CompositeConstruct 224 226 228
|
|
230: 196(ptr) AccessChain 75(data) 217 104 78
|
|
231: 6(int) CompositeExtract 229 0
|
|
Store 230 231
|
|
232: 196(ptr) AccessChain 75(data) 217 104 100
|
|
233: 6(int) CompositeExtract 229 1
|
|
Store 232 233
|
|
234: 196(ptr) AccessChain 75(data) 217 104 121
|
|
235: 6(int) CompositeExtract 229 2
|
|
Store 234 235
|
|
236: 6(int) Load 8(invocation)
|
|
237: 203(ptr) AccessChain 75(data) 125 104
|
|
238: 20(ivec4) Load 237
|
|
239: 6(int) Load 8(invocation)
|
|
240: 6(int) CompositeExtract 238 0
|
|
241: 6(int) SubgroupReadInvocationKHR 240 239
|
|
242: 6(int) CompositeExtract 238 1
|
|
243: 6(int) SubgroupReadInvocationKHR 242 239
|
|
244: 6(int) CompositeExtract 238 2
|
|
245: 6(int) SubgroupReadInvocationKHR 244 239
|
|
246: 6(int) CompositeExtract 238 3
|
|
247: 6(int) SubgroupReadInvocationKHR 246 239
|
|
248: 20(ivec4) CompositeConstruct 241 243 245 247
|
|
249: 203(ptr) AccessChain 75(data) 236 104
|
|
Store 249 248
|
|
Branch 67
|
|
250: Label
|
|
251: 6(int) Load 8(invocation)
|
|
252: 79(ptr) AccessChain 75(data) 77 77 78
|
|
253: 68(float) Load 252
|
|
254: 68(float) SubgroupFirstInvocationKHR 253
|
|
255: 79(ptr) AccessChain 75(data) 251 77 78
|
|
Store 255 254
|
|
256: 6(int) Load 8(invocation)
|
|
257: 88(ptr) AccessChain 75(data) 86 77
|
|
258: 69(fvec4) Load 257
|
|
259: 87(fvec2) VectorShuffle 258 258 0 1
|
|
260: 87(fvec2) SubgroupFirstInvocationKHR 259
|
|
261: 79(ptr) AccessChain 75(data) 256 77 78
|
|
262: 68(float) CompositeExtract 260 0
|
|
Store 261 262
|
|
263: 79(ptr) AccessChain 75(data) 256 77 100
|
|
264: 68(float) CompositeExtract 260 1
|
|
Store 263 264
|
|
265: 6(int) Load 8(invocation)
|
|
266: 88(ptr) AccessChain 75(data) 104 77
|
|
267: 69(fvec4) Load 266
|
|
268: 105(fvec3) VectorShuffle 267 267 0 1 2
|
|
269: 105(fvec3) SubgroupFirstInvocationKHR 268
|
|
270: 79(ptr) AccessChain 75(data) 265 77 78
|
|
271: 68(float) CompositeExtract 269 0
|
|
Store 270 271
|
|
272: 79(ptr) AccessChain 75(data) 265 77 100
|
|
273: 68(float) CompositeExtract 269 1
|
|
Store 272 273
|
|
274: 79(ptr) AccessChain 75(data) 265 77 121
|
|
275: 68(float) CompositeExtract 269 2
|
|
Store 274 275
|
|
276: 6(int) Load 8(invocation)
|
|
277: 88(ptr) AccessChain 75(data) 125 77
|
|
278: 69(fvec4) Load 277
|
|
279: 69(fvec4) SubgroupFirstInvocationKHR 278
|
|
280: 88(ptr) AccessChain 75(data) 276 77
|
|
Store 280 279
|
|
281: 6(int) Load 8(invocation)
|
|
282: 140(ptr) AccessChain 75(data) 77 86 78
|
|
283: 70(int) Load 282
|
|
284: 70(int) SubgroupFirstInvocationKHR 283
|
|
285: 140(ptr) AccessChain 75(data) 281 86 78
|
|
Store 285 284
|
|
286: 6(int) Load 8(invocation)
|
|
287: 148(ptr) AccessChain 75(data) 86 86
|
|
288: 71(ivec4) Load 287
|
|
289: 147(ivec2) VectorShuffle 288 288 0 1
|
|
290: 147(ivec2) SubgroupFirstInvocationKHR 289
|
|
291: 140(ptr) AccessChain 75(data) 286 86 78
|
|
292: 70(int) CompositeExtract 290 0
|
|
Store 291 292
|
|
293: 140(ptr) AccessChain 75(data) 286 86 100
|
|
294: 70(int) CompositeExtract 290 1
|
|
Store 293 294
|
|
295: 6(int) Load 8(invocation)
|
|
296: 148(ptr) AccessChain 75(data) 104 86
|
|
297: 71(ivec4) Load 296
|
|
298: 163(ivec3) VectorShuffle 297 297 0 1 2
|
|
299: 163(ivec3) SubgroupFirstInvocationKHR 298
|
|
300: 140(ptr) AccessChain 75(data) 295 86 78
|
|
301: 70(int) CompositeExtract 299 0
|
|
Store 300 301
|
|
302: 140(ptr) AccessChain 75(data) 295 86 100
|
|
303: 70(int) CompositeExtract 299 1
|
|
Store 302 303
|
|
304: 140(ptr) AccessChain 75(data) 295 86 121
|
|
305: 70(int) CompositeExtract 299 2
|
|
Store 304 305
|
|
306: 6(int) Load 8(invocation)
|
|
307: 148(ptr) AccessChain 75(data) 125 86
|
|
308: 71(ivec4) Load 307
|
|
309: 71(ivec4) SubgroupFirstInvocationKHR 308
|
|
310: 148(ptr) AccessChain 75(data) 306 86
|
|
Store 310 309
|
|
311: 6(int) Load 8(invocation)
|
|
312: 196(ptr) AccessChain 75(data) 77 104 78
|
|
313: 6(int) Load 312
|
|
314: 6(int) SubgroupFirstInvocationKHR 313
|
|
315: 196(ptr) AccessChain 75(data) 311 104 78
|
|
Store 315 314
|
|
316: 6(int) Load 8(invocation)
|
|
317: 203(ptr) AccessChain 75(data) 86 104
|
|
318: 20(ivec4) Load 317
|
|
319: 26(ivec2) VectorShuffle 318 318 0 1
|
|
320: 26(ivec2) SubgroupFirstInvocationKHR 319
|
|
321: 196(ptr) AccessChain 75(data) 316 104 78
|
|
322: 6(int) CompositeExtract 320 0
|
|
Store 321 322
|
|
323: 196(ptr) AccessChain 75(data) 316 104 100
|
|
324: 6(int) CompositeExtract 320 1
|
|
Store 323 324
|
|
325: 6(int) Load 8(invocation)
|
|
326: 203(ptr) AccessChain 75(data) 104 104
|
|
327: 20(ivec4) Load 326
|
|
328: 218(ivec3) VectorShuffle 327 327 0 1 2
|
|
329: 218(ivec3) SubgroupFirstInvocationKHR 328
|
|
330: 196(ptr) AccessChain 75(data) 325 104 78
|
|
331: 6(int) CompositeExtract 329 0
|
|
Store 330 331
|
|
332: 196(ptr) AccessChain 75(data) 325 104 100
|
|
333: 6(int) CompositeExtract 329 1
|
|
Store 332 333
|
|
334: 196(ptr) AccessChain 75(data) 325 104 121
|
|
335: 6(int) CompositeExtract 329 2
|
|
Store 334 335
|
|
336: 6(int) Load 8(invocation)
|
|
337: 203(ptr) AccessChain 75(data) 125 104
|
|
338: 20(ivec4) Load 337
|
|
339: 20(ivec4) SubgroupFirstInvocationKHR 338
|
|
340: 203(ptr) AccessChain 75(data) 336 104
|
|
Store 340 339
|
|
Branch 67
|
|
67: Label
|
|
Return
|
|
FunctionEnd
|