diff options
Diffstat (limited to 'source')
| -rw-r--r-- | source/slang/slang-emit-spirv.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/source/slang/slang-emit-spirv.cpp b/source/slang/slang-emit-spirv.cpp index 018f833aa..3f3b5e707 100644 --- a/source/slang/slang-emit-spirv.cpp +++ b/source/slang/slang-emit-spirv.cpp @@ -3468,7 +3468,8 @@ struct SPIRVEmitContext : public SourceEmitterBase, public SPIRVEmitSharedContex spvBlock, spvFunc, irDebugFunc, - irFunc->getDataType()); + irFunc->getDataType(), + irFunc); } if (funcDebugScope) { @@ -7964,7 +7965,8 @@ struct SPIRVEmitContext : public SourceEmitterBase, public SPIRVEmitSharedContex SpvInst* firstBlock, SpvInst* spvFunc, IRDebugFunction* debugFunc, - IRFuncType* debugType) + IRFuncType* debugType, + IRFunc* irFunc = nullptr) { SpvInst* debugFuncInfo = nullptr; if (debugFunc && m_mapIRInstToSpvInst.tryGetValue(debugFunc, debugFuncInfo)) @@ -8002,6 +8004,11 @@ struct SPIRVEmitContext : public SourceEmitterBase, public SPIRVEmitSharedContex builder.getIntValue(builder.getUIntType(), 0), debugFunc->getLine()); + if (irFunc) + { + registerDebugInst(irFunc, debugFuncInfo); + } + if (firstBlock && spvFunc) { emitOpDebugFunctionDefinition( |
