SpirvShader: Implement OpenCLDebugInfo100DebugInlinedAt
The inlined-at isn't currently used, but this unblocks tests that emit this instruction.
Bug: b/145351270
Change-Id: I787e0de3d7ede8225ad3a86544f867559ea9c387
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/42095
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Tested-by: Ben Clayton <bclayton@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
diff --git a/src/Pipeline/SpirvShaderDebugger.cpp b/src/Pipeline/SpirvShaderDebugger.cpp
index f86fe78..9471fd7 100644
--- a/src/Pipeline/SpirvShaderDebugger.cpp
+++ b/src/Pipeline/SpirvShaderDebugger.cpp
@@ -906,6 +906,16 @@
break;
case OpenCLDebugInfo100DebugNoScope:
break;
+ case OpenCLDebugInfo100DebugInlinedAt:
+ defineOrEmit(insn, pass, [&](debug::InlinedAt *ia) {
+ ia->line = insn.word(5);
+ ia->scope = get(debug::LexicalBlock::ID(insn.word(6)));
+ if(insn.wordCount() > 7)
+ {
+ ia->inlined = get(debug::InlinedAt::ID(insn.word(7)));
+ }
+ });
+ break;
case OpenCLDebugInfo100DebugLocalVariable:
defineOrEmit(insn, pass, [&](debug::LocalVariable *var) {
var->name = shader->getString(insn.word(5));