From b173149f4f48b5331ebd3c3643f9449c7a29d72e Mon Sep 17 00:00:00 2001 From: Jay Kwak <82421531+jkwak-work@users.noreply.github.com> Date: Tue, 14 Oct 2025 11:19:33 -0700 Subject: Handle SPIR-V aliases (#8704) Fixes https://github.com/shader-slang/slang/issues/8703 --- source/compiler-core/slang-spirv-core-grammar.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/source/compiler-core/slang-spirv-core-grammar.cpp b/source/compiler-core/slang-spirv-core-grammar.cpp index 8b5e79071..5f8043e65 100644 --- a/source/compiler-core/slang-spirv-core-grammar.cpp +++ b/source/compiler-core/slang-spirv-core-grammar.cpp @@ -44,6 +44,7 @@ struct Instruction UnownedStringSlice class_; SpvWord opcode; List capabilities; + List aliases; List operands; }; SLANG_MAKE_STRUCT_RTTI_INFO( @@ -52,6 +53,7 @@ SLANG_MAKE_STRUCT_RTTI_INFO( SLANG_RTTI_FIELD_IMPL(class_, "class", 0), SLANG_RTTI_FIELD(opcode), SLANG_OPTIONAL_RTTI_FIELD(capabilities), + SLANG_OPTIONAL_RTTI_FIELD(aliases), SLANG_OPTIONAL_RTTI_FIELD(operands)); struct Enumerant @@ -223,6 +225,11 @@ RefPtr SPIRVCoreGrammarInfo::loadFromJSON( { res->opcodes.dict.add(i.opname, SpvOp(i.opcode)); + for (auto alias : i.aliases) + { + res->opcodes.dict.add(alias, SpvOp(i.opcode)); + } + const auto class_ = i.class_ == "Type-Declaration" ? OpInfo::TypeDeclaration : i.class_ == "Constant-Creation" ? OpInfo::ConstantCreation : i.class_ == "Debug" ? OpInfo::Debug -- cgit v1.2.3