summaryrefslogtreecommitdiff
path: root/source/slang/slang-emit-metal.cpp
diff options
context:
space:
mode:
authorDarren Wihandi <65404740+fairywreath@users.noreply.github.com>2025-03-13 06:28:03 -0400
committerGitHub <noreply@github.com>2025-03-13 18:28:03 +0800
commit395302d2404e3429f3cdfa406e89fa76bc0d444b (patch)
tree0114009e9573cd94007dc3c4c1dfcad844cc33f8 /source/slang/slang-emit-metal.cpp
parentee1995ba397c4f670c991aeeb05d3fcaaebb6771 (diff)
Add mesh shader output topology checks (#6592)
* initial wip * more wip * add test * add unexpected for invalid target * fixups and improve error message * fixups and improve error message * remove incorrect comment --------- Co-authored-by: Ellie Hermaszewska <ellieh@nvidia.com>
Diffstat (limited to 'source/slang/slang-emit-metal.cpp')
-rw-r--r--source/slang/slang-emit-metal.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/source/slang/slang-emit-metal.cpp b/source/slang/slang-emit-metal.cpp
index 1bb738346..37f224083 100644
--- a/source/slang/slang-emit-metal.cpp
+++ b/source/slang/slang-emit-metal.cpp
@@ -3,6 +3,7 @@
#include "../core/slang-writer.h"
#include "slang-emit-source-writer.h"
+#include "slang-ir-entry-point-decorations.h"
#include "slang-ir-util.h"
#include "slang-mangled-lexer.h"
@@ -1261,15 +1262,15 @@ void MetalSourceEmitter::emitSimpleTypeImpl(IRType* type)
m_writer->emit(", ");
emitOperand(meshType->getNumPrimitives(), getInfo(EmitOp::General));
m_writer->emit(", metal::topology::");
- switch (meshType->getTopology()->getValue())
+ switch (OutputTopologyType(meshType->getTopology()->getValue()))
{
- case 1:
+ case OutputTopologyType::Point:
m_writer->emit("point");
break;
- case 2:
+ case OutputTopologyType::Line:
m_writer->emit("line");
break;
- case 3:
+ case OutputTopologyType::Triangle:
m_writer->emit("triangle");
break;
}