diff options
Diffstat (limited to 'source/slang/slang-emit-spirv.cpp')
| -rw-r--r-- | source/slang/slang-emit-spirv.cpp | 28 |
1 files changed, 6 insertions, 22 deletions
diff --git a/source/slang/slang-emit-spirv.cpp b/source/slang/slang-emit-spirv.cpp index 62e7d428b..0ba637978 100644 --- a/source/slang/slang-emit-spirv.cpp +++ b/source/slang/slang-emit-spirv.cpp @@ -3310,7 +3310,12 @@ struct SPIRVEmitContext // Find phi arguments from incoming branch instructions that target `block`. for (auto use = block->firstUse; use; use = use->nextUse) { - auto branchInst = use->getUser(); + auto branchInst = as<IRUnconditionalBranch>(use->getUser()); + if (!branchInst) + continue; + if (branchInst->getTargetBlock() != inst->getParent()) + continue; + UInt argStartIndex = 0; switch (branchInst->getOp()) { @@ -4742,27 +4747,6 @@ struct SPIRVEmitContext } } - void handleRequiredCapabilitiesImpl(IRInst* inst) - { - for (auto decoration : inst->getDecorations()) - { - switch (decoration->getOp()) - { - default: - break; - case kIROp_RequireSPIRVCapabilityDecoration: - requireSPIRVCapability((SpvCapability)getIntVal(decoration->getOperand(0))); - if (decoration->getOperandCount() == 2) - { - auto stringLit = as<IRStringLit>(decoration->getOperand(1)); - if (stringLit->getStringSlice().getLength()) - ensureExtensionDeclaration(stringLit->getStringSlice()); - } - break; - } - } - } - SPIRVEmitContext(IRModule* module, TargetRequest* target, DiagnosticSink* sink) : SPIRVEmitSharedContext(module, target, sink) , m_irModule(module) |
