summaryrefslogtreecommitdiff
path: root/source/slang/slang-emit-hlsl.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-emit-hlsl.cpp
parentc7d7a965c14318c07bd5b8ec60b960c2e95dfebd (diff)
Mesh shader refactoring and bugfixes (#3702)
Diffstat (limited to 'source/slang/slang-emit-hlsl.cpp')
-rw-r--r--source/slang/slang-emit-hlsl.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/source/slang/slang-emit-hlsl.cpp b/source/slang/slang-emit-hlsl.cpp
index fcab737e1..cf1ca794b 100644
--- a/source/slang/slang-emit-hlsl.cpp
+++ b/source/slang/slang-emit-hlsl.cpp
@@ -1206,10 +1206,11 @@ void HLSLSourceEmitter::emitMeshShaderModifiersImpl(IRInst* varInst)
{
if(auto modifier = varInst->findDecoration<IRMeshOutputDecoration>())
{
+ // DXC requires that mesh payload parameters have "out" specified
const char* s =
- as<IRVerticesDecoration>(modifier) ? "vertices "
- : as<IRIndicesDecoration>(modifier) ? "indices "
- : as<IRPrimitivesDecoration>(modifier) ? "primitives "
+ as<IRVerticesDecoration>(modifier) ? "out vertices "
+ : as<IRIndicesDecoration>(modifier) ? "out indices "
+ : as<IRPrimitivesDecoration>(modifier) ? "out primitives "
: nullptr;
SLANG_ASSERT(s && "Unhandled type of mesh output decoration");
m_writer->emit(s);