Generate separate stores for partially swizzled memory stores
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.
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
spv.shaderBallot.comp
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 8000a
|
||||
// Id's are bound by 318
|
||||
// Id's are bound by 343
|
||||
|
||||
Capability Shader
|
||||
Capability Int64
|
||||
@@ -42,7 +42,7 @@ spv.shaderBallot.comp
|
||||
Decorate 72(Buffers) BufferBlock
|
||||
Decorate 75(data) DescriptorSet 0
|
||||
Decorate 75(data) Binding 0
|
||||
Decorate 317 BuiltIn WorkgroupSize
|
||||
Decorate 342 BuiltIn WorkgroupSize
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 32 0
|
||||
@@ -77,19 +77,20 @@ spv.shaderBallot.comp
|
||||
86: 70(int) Constant 1
|
||||
87: TypeVector 68(float) 2
|
||||
88: TypePointer Uniform 69(fvec4)
|
||||
102: 70(int) Constant 2
|
||||
103: TypeVector 68(float) 3
|
||||
119: 70(int) Constant 3
|
||||
134: TypePointer Uniform 70(int)
|
||||
141: TypeVector 70(int) 2
|
||||
142: TypePointer Uniform 71(ivec4)
|
||||
156: TypeVector 70(int) 3
|
||||
186: TypePointer Uniform 6(int)
|
||||
193: TypePointer Uniform 20(ivec4)
|
||||
207: TypeVector 6(int) 3
|
||||
315: 6(int) Constant 8
|
||||
316: 6(int) Constant 1
|
||||
317: 207(ivec3) ConstantComposite 315 315 316
|
||||
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
|
||||
@@ -137,7 +138,7 @@ spv.shaderBallot.comp
|
||||
64: 17(int64_t) Bitcast 63
|
||||
65: 58(bool) IEqual 57 64
|
||||
SelectionMerge 67 None
|
||||
BranchConditional 65 66 236
|
||||
BranchConditional 65 66 250
|
||||
66: Label
|
||||
76: 6(int) Load 8(invocation)
|
||||
80: 79(ptr) AccessChain 75(data) 77 77 78
|
||||
@@ -156,237 +157,279 @@ spv.shaderBallot.comp
|
||||
95: 68(float) CompositeExtract 91 1
|
||||
96: 68(float) SubgroupReadInvocationKHR 95 92
|
||||
97: 87(fvec2) CompositeConstruct 94 96
|
||||
98: 88(ptr) AccessChain 75(data) 85 77
|
||||
99: 69(fvec4) Load 98
|
||||
100: 69(fvec4) VectorShuffle 99 97 4 5 2 3
|
||||
Store 98 100
|
||||
101: 6(int) Load 8(invocation)
|
||||
104: 88(ptr) AccessChain 75(data) 102 77
|
||||
105: 69(fvec4) Load 104
|
||||
106: 103(fvec3) VectorShuffle 105 105 0 1 2
|
||||
107: 6(int) Load 8(invocation)
|
||||
108: 68(float) CompositeExtract 106 0
|
||||
109: 68(float) SubgroupReadInvocationKHR 108 107
|
||||
110: 68(float) CompositeExtract 106 1
|
||||
111: 68(float) SubgroupReadInvocationKHR 110 107
|
||||
112: 68(float) CompositeExtract 106 2
|
||||
113: 68(float) SubgroupReadInvocationKHR 112 107
|
||||
114: 103(fvec3) CompositeConstruct 109 111 113
|
||||
115: 88(ptr) AccessChain 75(data) 101 77
|
||||
116: 69(fvec4) Load 115
|
||||
117: 69(fvec4) VectorShuffle 116 114 4 5 6 3
|
||||
Store 115 117
|
||||
118: 6(int) Load 8(invocation)
|
||||
120: 88(ptr) AccessChain 75(data) 119 77
|
||||
121: 69(fvec4) Load 120
|
||||
122: 6(int) Load 8(invocation)
|
||||
123: 68(float) CompositeExtract 121 0
|
||||
124: 68(float) SubgroupReadInvocationKHR 123 122
|
||||
125: 68(float) CompositeExtract 121 1
|
||||
126: 68(float) SubgroupReadInvocationKHR 125 122
|
||||
127: 68(float) CompositeExtract 121 2
|
||||
128: 68(float) SubgroupReadInvocationKHR 127 122
|
||||
129: 68(float) CompositeExtract 121 3
|
||||
130: 68(float) SubgroupReadInvocationKHR 129 122
|
||||
131: 69(fvec4) CompositeConstruct 124 126 128 130
|
||||
132: 88(ptr) AccessChain 75(data) 118 77
|
||||
Store 132 131
|
||||
133: 6(int) Load 8(invocation)
|
||||
135: 134(ptr) AccessChain 75(data) 77 86 78
|
||||
136: 70(int) Load 135
|
||||
137: 6(int) Load 8(invocation)
|
||||
138: 70(int) SubgroupReadInvocationKHR 136 137
|
||||
139: 134(ptr) AccessChain 75(data) 133 86 78
|
||||
Store 139 138
|
||||
140: 6(int) Load 8(invocation)
|
||||
143: 142(ptr) AccessChain 75(data) 86 86
|
||||
144: 71(ivec4) Load 143
|
||||
145: 141(ivec2) VectorShuffle 144 144 0 1
|
||||
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)
|
||||
147: 70(int) CompositeExtract 145 0
|
||||
148: 70(int) SubgroupReadInvocationKHR 147 146
|
||||
149: 70(int) CompositeExtract 145 1
|
||||
150: 70(int) SubgroupReadInvocationKHR 149 146
|
||||
151: 141(ivec2) CompositeConstruct 148 150
|
||||
152: 142(ptr) AccessChain 75(data) 140 86
|
||||
153: 71(ivec4) Load 152
|
||||
154: 71(ivec4) VectorShuffle 153 151 4 5 2 3
|
||||
Store 152 154
|
||||
155: 6(int) Load 8(invocation)
|
||||
157: 142(ptr) AccessChain 75(data) 102 86
|
||||
158: 71(ivec4) Load 157
|
||||
159: 156(ivec3) VectorShuffle 158 158 0 1 2
|
||||
160: 6(int) Load 8(invocation)
|
||||
161: 70(int) CompositeExtract 159 0
|
||||
162: 70(int) SubgroupReadInvocationKHR 161 160
|
||||
163: 70(int) CompositeExtract 159 1
|
||||
164: 70(int) SubgroupReadInvocationKHR 163 160
|
||||
165: 70(int) CompositeExtract 159 2
|
||||
166: 70(int) SubgroupReadInvocationKHR 165 160
|
||||
167: 156(ivec3) CompositeConstruct 162 164 166
|
||||
168: 142(ptr) AccessChain 75(data) 155 86
|
||||
169: 71(ivec4) Load 168
|
||||
170: 71(ivec4) VectorShuffle 169 167 4 5 6 3
|
||||
Store 168 170
|
||||
171: 6(int) Load 8(invocation)
|
||||
172: 142(ptr) AccessChain 75(data) 119 86
|
||||
173: 71(ivec4) Load 172
|
||||
174: 6(int) Load 8(invocation)
|
||||
175: 70(int) CompositeExtract 173 0
|
||||
176: 70(int) SubgroupReadInvocationKHR 175 174
|
||||
177: 70(int) CompositeExtract 173 1
|
||||
178: 70(int) SubgroupReadInvocationKHR 177 174
|
||||
179: 70(int) CompositeExtract 173 2
|
||||
180: 70(int) SubgroupReadInvocationKHR 179 174
|
||||
181: 70(int) CompositeExtract 173 3
|
||||
182: 70(int) SubgroupReadInvocationKHR 181 174
|
||||
183: 71(ivec4) CompositeConstruct 176 178 180 182
|
||||
184: 142(ptr) AccessChain 75(data) 171 86
|
||||
Store 184 183
|
||||
185: 6(int) Load 8(invocation)
|
||||
187: 186(ptr) AccessChain 75(data) 77 102 78
|
||||
188: 6(int) Load 187
|
||||
189: 6(int) Load 8(invocation)
|
||||
190: 6(int) SubgroupReadInvocationKHR 188 189
|
||||
191: 186(ptr) AccessChain 75(data) 185 102 78
|
||||
Store 191 190
|
||||
192: 6(int) Load 8(invocation)
|
||||
194: 193(ptr) AccessChain 75(data) 86 102
|
||||
195: 20(ivec4) Load 194
|
||||
196: 26(ivec2) VectorShuffle 195 195 0 1
|
||||
197: 6(int) Load 8(invocation)
|
||||
198: 6(int) CompositeExtract 196 0
|
||||
199: 6(int) SubgroupReadInvocationKHR 198 197
|
||||
200: 6(int) CompositeExtract 196 1
|
||||
201: 6(int) SubgroupReadInvocationKHR 200 197
|
||||
202: 26(ivec2) CompositeConstruct 199 201
|
||||
203: 193(ptr) AccessChain 75(data) 192 102
|
||||
204: 20(ivec4) Load 203
|
||||
205: 20(ivec4) VectorShuffle 204 202 4 5 2 3
|
||||
Store 203 205
|
||||
206: 6(int) Load 8(invocation)
|
||||
208: 193(ptr) AccessChain 75(data) 102 102
|
||||
209: 20(ivec4) Load 208
|
||||
210: 207(ivec3) VectorShuffle 209 209 0 1 2
|
||||
211: 6(int) Load 8(invocation)
|
||||
212: 6(int) CompositeExtract 210 0
|
||||
213: 6(int) SubgroupReadInvocationKHR 212 211
|
||||
214: 6(int) CompositeExtract 210 1
|
||||
215: 6(int) SubgroupReadInvocationKHR 214 211
|
||||
216: 6(int) CompositeExtract 210 2
|
||||
217: 6(int) SubgroupReadInvocationKHR 216 211
|
||||
218: 207(ivec3) CompositeConstruct 213 215 217
|
||||
219: 193(ptr) AccessChain 75(data) 206 102
|
||||
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: 20(ivec4) VectorShuffle 220 218 4 5 6 3
|
||||
Store 219 221
|
||||
221: 218(ivec3) VectorShuffle 220 220 0 1 2
|
||||
222: 6(int) Load 8(invocation)
|
||||
223: 193(ptr) AccessChain 75(data) 119 102
|
||||
224: 20(ivec4) Load 223
|
||||
225: 6(int) Load 8(invocation)
|
||||
226: 6(int) CompositeExtract 224 0
|
||||
227: 6(int) SubgroupReadInvocationKHR 226 225
|
||||
228: 6(int) CompositeExtract 224 1
|
||||
229: 6(int) SubgroupReadInvocationKHR 228 225
|
||||
230: 6(int) CompositeExtract 224 2
|
||||
231: 6(int) SubgroupReadInvocationKHR 230 225
|
||||
232: 6(int) CompositeExtract 224 3
|
||||
233: 6(int) SubgroupReadInvocationKHR 232 225
|
||||
234: 20(ivec4) CompositeConstruct 227 229 231 233
|
||||
235: 193(ptr) AccessChain 75(data) 222 102
|
||||
Store 235 234
|
||||
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
|
||||
236: Label
|
||||
237: 6(int) Load 8(invocation)
|
||||
238: 79(ptr) AccessChain 75(data) 77 77 78
|
||||
239: 68(float) Load 238
|
||||
240: 68(float) SubgroupFirstInvocationKHR 239
|
||||
241: 79(ptr) AccessChain 75(data) 237 77 78
|
||||
Store 241 240
|
||||
242: 6(int) Load 8(invocation)
|
||||
243: 88(ptr) AccessChain 75(data) 86 77
|
||||
244: 69(fvec4) Load 243
|
||||
245: 87(fvec2) VectorShuffle 244 244 0 1
|
||||
246: 87(fvec2) SubgroupFirstInvocationKHR 245
|
||||
247: 88(ptr) AccessChain 75(data) 242 77
|
||||
248: 69(fvec4) Load 247
|
||||
249: 69(fvec4) VectorShuffle 248 246 4 5 2 3
|
||||
Store 247 249
|
||||
250: 6(int) Load 8(invocation)
|
||||
251: 88(ptr) AccessChain 75(data) 102 77
|
||||
252: 69(fvec4) Load 251
|
||||
253: 103(fvec3) VectorShuffle 252 252 0 1 2
|
||||
254: 103(fvec3) SubgroupFirstInvocationKHR 253
|
||||
255: 88(ptr) AccessChain 75(data) 250 77
|
||||
256: 69(fvec4) Load 255
|
||||
257: 69(fvec4) VectorShuffle 256 254 4 5 6 3
|
||||
Store 255 257
|
||||
258: 6(int) Load 8(invocation)
|
||||
259: 88(ptr) AccessChain 75(data) 119 77
|
||||
260: 69(fvec4) Load 259
|
||||
261: 69(fvec4) SubgroupFirstInvocationKHR 260
|
||||
262: 88(ptr) AccessChain 75(data) 258 77
|
||||
Store 262 261
|
||||
263: 6(int) Load 8(invocation)
|
||||
264: 134(ptr) AccessChain 75(data) 77 86 78
|
||||
265: 70(int) Load 264
|
||||
266: 70(int) SubgroupFirstInvocationKHR 265
|
||||
267: 134(ptr) AccessChain 75(data) 263 86 78
|
||||
Store 267 266
|
||||
268: 6(int) Load 8(invocation)
|
||||
269: 142(ptr) AccessChain 75(data) 86 86
|
||||
270: 71(ivec4) Load 269
|
||||
271: 141(ivec2) VectorShuffle 270 270 0 1
|
||||
272: 141(ivec2) SubgroupFirstInvocationKHR 271
|
||||
273: 142(ptr) AccessChain 75(data) 268 86
|
||||
274: 71(ivec4) Load 273
|
||||
275: 71(ivec4) VectorShuffle 274 272 4 5 2 3
|
||||
Store 273 275
|
||||
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: 142(ptr) AccessChain 75(data) 102 86
|
||||
278: 71(ivec4) Load 277
|
||||
279: 156(ivec3) VectorShuffle 278 278 0 1 2
|
||||
280: 156(ivec3) SubgroupFirstInvocationKHR 279
|
||||
281: 142(ptr) AccessChain 75(data) 276 86
|
||||
282: 71(ivec4) Load 281
|
||||
283: 71(ivec4) VectorShuffle 282 280 4 5 6 3
|
||||
Store 281 283
|
||||
284: 6(int) Load 8(invocation)
|
||||
285: 142(ptr) AccessChain 75(data) 119 86
|
||||
286: 71(ivec4) Load 285
|
||||
287: 71(ivec4) SubgroupFirstInvocationKHR 286
|
||||
288: 142(ptr) AccessChain 75(data) 284 86
|
||||
Store 288 287
|
||||
289: 6(int) Load 8(invocation)
|
||||
290: 186(ptr) AccessChain 75(data) 77 102 78
|
||||
291: 6(int) Load 290
|
||||
292: 6(int) SubgroupFirstInvocationKHR 291
|
||||
293: 186(ptr) AccessChain 75(data) 289 102 78
|
||||
Store 293 292
|
||||
294: 6(int) Load 8(invocation)
|
||||
295: 193(ptr) AccessChain 75(data) 86 102
|
||||
296: 20(ivec4) Load 295
|
||||
297: 26(ivec2) VectorShuffle 296 296 0 1
|
||||
298: 26(ivec2) SubgroupFirstInvocationKHR 297
|
||||
299: 193(ptr) AccessChain 75(data) 294 102
|
||||
300: 20(ivec4) Load 299
|
||||
301: 20(ivec4) VectorShuffle 300 298 4 5 2 3
|
||||
Store 299 301
|
||||
302: 6(int) Load 8(invocation)
|
||||
303: 193(ptr) AccessChain 75(data) 102 102
|
||||
304: 20(ivec4) Load 303
|
||||
305: 207(ivec3) VectorShuffle 304 304 0 1 2
|
||||
306: 207(ivec3) SubgroupFirstInvocationKHR 305
|
||||
307: 193(ptr) AccessChain 75(data) 302 102
|
||||
308: 20(ivec4) Load 307
|
||||
309: 20(ivec4) VectorShuffle 308 306 4 5 6 3
|
||||
Store 307 309
|
||||
310: 6(int) Load 8(invocation)
|
||||
311: 193(ptr) AccessChain 75(data) 119 102
|
||||
312: 20(ivec4) Load 311
|
||||
313: 20(ivec4) SubgroupFirstInvocationKHR 312
|
||||
314: 193(ptr) AccessChain 75(data) 310 102
|
||||
Store 314 313
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user