From 6909d65c77bb4e7c9cfb281bd1684a58d5f8b94d Mon Sep 17 00:00:00 2001 From: Yong He Date: Tue, 11 Jun 2024 12:31:37 -0700 Subject: SPIRV backend: add support for tessellation stages, (#4336) --- source/slang/slang-ir-specialize-target-switch.cpp | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'source/slang/slang-ir-specialize-target-switch.cpp') diff --git a/source/slang/slang-ir-specialize-target-switch.cpp b/source/slang/slang-ir-specialize-target-switch.cpp index 46ea51192..e3ef06e18 100644 --- a/source/slang/slang-ir-specialize-target-switch.cpp +++ b/source/slang/slang-ir-specialize-target-switch.cpp @@ -9,6 +9,16 @@ namespace Slang { void specializeTargetSwitch(TargetRequest* target, IRGlobalValueWithCode* code, DiagnosticSink* sink) { + if (auto gen = as(code)) + { + auto retVal = findGenericReturnVal(gen); + if (auto innerCode = as(retVal)) + { + specializeTargetSwitch(target, innerCode, sink); + return; + } + } + bool changed = false; for (auto block : code->getBlocks()) { @@ -76,14 +86,6 @@ namespace Slang if (auto code = as(globalInst)) { specializeTargetSwitch(target, code, sink); - if (auto gen = as(code)) - { - auto retVal = findGenericReturnVal(gen); - if (auto innerCode = as(retVal)) - { - specializeTargetSwitch(target, innerCode, sink); - } - } } } } -- cgit v1.2.3