From 395302d2404e3429f3cdfa406e89fa76bc0d444b Mon Sep 17 00:00:00 2001 From: Darren Wihandi <65404740+fairywreath@users.noreply.github.com> Date: Thu, 13 Mar 2025 06:28:03 -0400 Subject: 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 --- source/slang/slang-emit-metal.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'source/slang/slang-emit-metal.cpp') 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; } -- cgit v1.2.3