summaryrefslogtreecommitdiff
path: root/source/slang/slang-emit-c-like.cpp
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2024-05-08 23:06:46 -0700
committerGitHub <noreply@github.com>2024-05-08 23:06:46 -0700
commitbf088c3f12cb47d204fdd3df1bb8a2415d46ba7b (patch)
tree82145968864a816ceba4c46619c3841b9a0befd4 /source/slang/slang-emit-c-like.cpp
parent526430a0e7053b04eeb9b0c6514065a850042aaf (diff)
Metal: propagate and specialize address space. (#4137)
Diffstat (limited to 'source/slang/slang-emit-c-like.cpp')
-rw-r--r--source/slang/slang-emit-c-like.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/source/slang/slang-emit-c-like.cpp b/source/slang/slang-emit-c-like.cpp
index 626c372e9..2119d8fee 100644
--- a/source/slang/slang-emit-c-like.cpp
+++ b/source/slang/slang-emit-c-like.cpp
@@ -1748,6 +1748,15 @@ void CLikeSourceEmitter::emitArgs(IRInst* inst)
m_writer->emit(")");
}
+void CLikeSourceEmitter::emitRateQualifiers(IRInst* value)
+{
+ const auto rate = value->getRate();
+ if (rate)
+ {
+ emitRateQualifiersAndAddressSpaceImpl(rate, -1);
+ }
+}
+
void CLikeSourceEmitter::emitRateQualifiersAndAddressSpace(IRInst* value)
{
const auto rate = value->getRate();
@@ -1770,7 +1779,7 @@ void CLikeSourceEmitter::emitInstResultDecl(IRInst* inst)
emitTempModifiers(inst);
- emitRateQualifiersAndAddressSpace(inst);
+ emitRateQualifiers(inst);
if(as<IRModuleInst>(inst->getParent()))
{