From d40931cc8bde13520ea45769cf94e7cc6cc9065f Mon Sep 17 00:00:00 2001 From: Ellie Hermaszewska Date: Fri, 15 Mar 2024 08:48:41 +0800 Subject: Mesh shader refactoring and bugfixes (#3702) --- source/slang/slang-parameter-binding.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'source/slang/slang-parameter-binding.cpp') 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 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(paramDeclRef.getDecl()->getType())) + { + state.directionMask = kEntryPointParameterDirection_Output; + } + return processEntryPointVaryingParameterDecl( context, paramDeclRef.getDecl(), -- cgit v1.2.3