Handle OpenCL.DebugInfo.100 DebugOperation
Bug: b/148401179
Change-Id: I24879b32d65bed5a4380a444bbcaa5794cfd6d85
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/47929
Kokoro-Result: kokoro <noreply+kokoro@google.com>
Tested-by: Jaebaek Seo <jaebaek@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
diff --git a/src/Pipeline/SpirvShaderDebugger.cpp b/src/Pipeline/SpirvShaderDebugger.cpp
index c5a663d..68c9722 100644
--- a/src/Pipeline/SpirvShaderDebugger.cpp
+++ b/src/Pipeline/SpirvShaderDebugger.cpp
@@ -1394,6 +1394,15 @@
}
});
break;
+ case OpenCLDebugInfo100DebugOperation:
+ defineOrEmit(insn, pass, [&](debug::Operation *operation) {
+ operation->opcode = insn.word(5);
+ for(uint32_t i = 6; i < insn.wordCount(); i++)
+ {
+ operation->operands.push_back(insn.word(i));
+ }
+ });
+ break;
case OpenCLDebugInfo100DebugTypePointer:
case OpenCLDebugInfo100DebugTypeQualifier:
@@ -1406,7 +1415,6 @@
case OpenCLDebugInfo100DebugFunctionDeclaration:
case OpenCLDebugInfo100DebugLexicalBlockDiscriminator:
case OpenCLDebugInfo100DebugInlinedVariable:
- case OpenCLDebugInfo100DebugOperation:
case OpenCLDebugInfo100DebugMacroDef:
case OpenCLDebugInfo100DebugMacroUndef:
case OpenCLDebugInfo100DebugImportedEntity: