summaryrefslogtreecommitdiffstats
path: root/source/slang/slang-parameter-binding.cpp
diff options
context:
space:
mode:
authorEllie Hermaszewska <ellieh@nvidia.com>2024-03-15 08:48:41 +0800
committerGitHub <noreply@github.com>2024-03-14 17:48:41 -0700
commitd40931cc8bde13520ea45769cf94e7cc6cc9065f (patch)
treeecde6ebbfbc1445c587b0339332814837ff43229 /source/slang/slang-parameter-binding.cpp
parentc7d7a965c14318c07bd5b8ec60b960c2e95dfebd (diff)
Mesh shader refactoring and bugfixes (#3702)
Diffstat (limited to 'source/slang/slang-parameter-binding.cpp')
-rw-r--r--source/slang/slang-parameter-binding.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/source/slang/slang-parameter-binding.cpp b/source/slang/slang-parameter-binding.cpp
index ebaa58adb..5d7aaa651 100644
--- a/source/slang/slang-parameter-binding.cpp
+++ b/source/slang/slang-parameter-binding.cpp
@@ -2278,6 +2278,13 @@ static RefPtr<TypeLayout> computeEntryPointParameterTypeLayout(
state.directionMask |= kEntryPointParameterDirection_Output;
}
+ // For the purposes of type layout, mesh shader outputs are always
+ // treated as output only, despite missing an 'out' modifier
+ if(as<MeshOutputType>(paramDeclRef.getDecl()->getType()))
+ {
+ state.directionMask = kEntryPointParameterDirection_Output;
+ }
+
return processEntryPointVaryingParameterDecl(
context,
paramDeclRef.getDecl(),