summaryrefslogtreecommitdiff
path: root/source/slang/slang-emit-c-like.cpp
diff options
context:
space:
mode:
authorYong He <yonghe@outlook.com>2024-05-16 10:43:49 -0700
committerGitHub <noreply@github.com>2024-05-16 10:43:49 -0700
commit725735a87b9d223c2afc83bbd049055b1e44a976 (patch)
tree225f381774fb9b5209007ae7fc455a14f57a6fe6 /source/slang/slang-emit-c-like.cpp
parent0a6180299352d7a2ec850004564c7a95b37a41c4 (diff)
RasterizerOrder resource for spirv and metal. (#4175)
* RasterizerOrder resource for spirv and metal. Also fixes the byte address buffer logic for metal. * Fix. * Delete commented lines. --------- Co-authored-by: Jay Kwak <82421531+jkwak-work@users.noreply.github.com>
Diffstat (limited to 'source/slang/slang-emit-c-like.cpp')
-rw-r--r--source/slang/slang-emit-c-like.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/source/slang/slang-emit-c-like.cpp b/source/slang/slang-emit-c-like.cpp
index 7551f4da9..d85c72ae5 100644
--- a/source/slang/slang-emit-c-like.cpp
+++ b/source/slang/slang-emit-c-like.cpp
@@ -3361,6 +3361,7 @@ void CLikeSourceEmitter::emitSimpleFuncParamImpl(IRParam* param)
emitParamType(paramType, paramName);
emitSemantics(param);
+ emitPostDeclarationAttributesForType(paramType);
}
void CLikeSourceEmitter::emitSimpleFuncParamsImpl(IRFunc* func)
@@ -3649,6 +3650,7 @@ void CLikeSourceEmitter::emitStructDeclarationsBlock(IRStructType* structType, b
emitMemoryQualifiers(fieldKey);
emitType(fieldType, getName(fieldKey));
emitSemantics(fieldKey, allowOffsetLayout);
+ emitPostDeclarationAttributesForType(fieldType);
m_writer->emit(";\n");
}
@@ -3733,6 +3735,7 @@ void CLikeSourceEmitter::emitClass(IRClassType* classType)
emitType(fieldType, getName(fieldKey));
emitSemantics(fieldKey);
+ emitPostDeclarationAttributesForType(fieldType);
m_writer->emit(";\n");
}
@@ -3900,8 +3903,8 @@ void CLikeSourceEmitter::emitVar(IRVar* varDecl)
emitType(varType, getName(varDecl));
emitSemantics(varDecl);
-
emitLayoutSemantics(varDecl);
+ emitPostDeclarationAttributesForType(varType);
// TODO: ideally this logic should scan ahead to see if it can find a `store`
// instruction that writes to the `var`, within the same block, such that all