diff options
| author | Yong He <yonghe@outlook.com> | 2025-10-09 18:30:24 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-10-10 01:30:24 +0000 |
| commit | e420f2f980813559b186a6a6bcd5540f74310d02 (patch) | |
| tree | 8f7a833ed86e8ce2a7b40bd1e9e7da5cb95d66ab /source/slang/slang-emit.cpp | |
| parent | 3cf1f5a616917480c63b76aae906dc36b29e46ce (diff) | |
Defer `IRCastStorageToLogicalDeref` in lowerBufferElementType pass. (#8668)
Fix a regression on metal test.
In `lowerBufferElementTypeToStorageType` pass, not only we want to defer
an argument that is `CastStorageToLogical` to the callee, but also apply
the same defer logic to `CastStorageToLogicalDeref` as well.
Because `CastStorageToLogicalDeref` will appear as argumnet if
`lowerBufferElementTypeToStorageType` is run before we apply the
`in->borrow` transformation pass, which is the case for metal parameter
block legalization.
Diffstat (limited to 'source/slang/slang-emit.cpp')
| -rw-r--r-- | source/slang/slang-emit.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/source/slang/slang-emit.cpp b/source/slang/slang-emit.cpp index 7d72fb77f..c57851bc2 100644 --- a/source/slang/slang-emit.cpp +++ b/source/slang/slang-emit.cpp @@ -1881,6 +1881,10 @@ Result linkAndOptimizeIR( { specializeAddressSpaceForMetal(irModule); } + else if (isWGPUTarget(targetRequest)) + { + specializeAddressSpaceForWGSL(irModule); + } performForceInlining(irModule); |
