Commit 43482b7
authored
Fix special case with vector swizzle (#5281)
When handling the swizzles in the SPIR-V backen, there is a special case when
the final result returns the original vector. It tries to avoid adding the
vector shuffle instruction in spir-v. However, that path calls `doExpr` instead
of `loadIfGLValue` like the other path. This can sometimes cause a load to be
omitted.
This is changed so that `loadIfGLValue` is called for both cases.
Fixes #52751 parent a742bb6 commit 43482b7
2 files changed
Lines changed: 19 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5859 | 5859 | | |
5860 | 5860 | | |
5861 | 5861 | | |
5862 | | - | |
5863 | | - | |
5864 | | - | |
5865 | 5862 | | |
| 5863 | + | |
| 5864 | + | |
| 5865 | + | |
| 5866 | + | |
| 5867 | + | |
| 5868 | + | |
| 5869 | + | |
5866 | 5870 | | |
5867 | 5871 | | |
5868 | 5872 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
14 | 17 | | |
15 | 18 | | |
16 | 19 | | |
| |||
158 | 161 | | |
159 | 162 | | |
160 | 163 | | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
161 | 173 | | |
0 commit comments