Commit a364c41
authored
We want to use extension
model, but shader compiler crashes.
The typical case is passing the buffer to a function and use it. In
function, we need to load the real buffer from variable pointers, it's
okay.
But when we run pass `upgrade-memory-model`, we missed to handle the
`OpLoad` with variable pointers, which resulted in missing 1 dimension
to calculate the access element type. `OpStore` also has the same
problem.
Moreover, `OpLoad` and `OpStore` shouldn't be marked as
`NonPrivatePointer` if the target pointer is storage class Function or
Private.SPV_KHR_variable_pointers with vulkan memory (#6121)1 parent 108b19e commit a364c41
File tree
2 files changed
+429
-2
lines changed- source/opt
- test/opt
2 files changed
+429
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
160 | 160 | | |
161 | 161 | | |
162 | 162 | | |
163 | | - | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
164 | 175 | | |
165 | 176 | | |
166 | 177 | | |
167 | | - | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
168 | 191 | | |
169 | 192 | | |
170 | 193 | | |
| 194 | + | |
171 | 195 | | |
172 | 196 | | |
173 | 197 | | |
| |||
366 | 390 | | |
367 | 391 | | |
368 | 392 | | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
369 | 408 | | |
370 | 409 | | |
371 | 410 | | |
| |||
0 commit comments