From 0d16228ae22fa2e1a00e62dc099eea08da7717fe Mon Sep 17 00:00:00 2001 From: jarcherNV Date: Fri, 6 Jun 2025 14:30:06 -0700 Subject: Add command line option for separate debug info (#7178) * Add command line option for separate debug info Add command line arg -separate-debug-info which, if provided, produces both a .spv and a .dbg.spv file. The .dbg.spv file contains full debug info and the .spv file has all debug info stripped out. Also add a DebugBuildIdentifier instruction to store a unique hash in both the output files, so they can be more easily matched together. A matching API is provided to allow using the Slang API to retrieve a base and debug SPIRV as well as the debug build identifier string. --- source/slang/slang-ir-link.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'source/slang/slang-ir-link.cpp') diff --git a/source/slang/slang-ir-link.cpp b/source/slang/slang-ir-link.cpp index 29a42b73c..a7b4c4560 100644 --- a/source/slang/slang-ir-link.cpp +++ b/source/slang/slang-ir-link.cpp @@ -2174,6 +2174,11 @@ LinkedIR linkIR(CodeGenContext* codeGenContext) // regardless if the source files participate in the line table or not. cloneValue(context, inst); break; + case kIROp_DebugBuildIdentifier: + // The debug build identifier won't be referenced by anything, + // but we still need to keep it around if it is in the IR. + cloneValue(context, inst); + break; } } } -- cgit v1.2.3