From c29fce83668eb466cf1ae055549714ea563c3d45 Mon Sep 17 00:00:00 2001 From: baldurk Date: Wed, 3 Jun 2020 16:22:24 +0100 Subject: [PATCH] Count line numbers for disassembly --- .../driver/shaders/dxil/dxil_bytecode.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/renderdoc/driver/shaders/dxil/dxil_bytecode.cpp b/renderdoc/driver/shaders/dxil/dxil_bytecode.cpp index 1b09e78e7..145207116 100644 --- a/renderdoc/driver/shaders/dxil/dxil_bytecode.cpp +++ b/renderdoc/driver/shaders/dxil/dxil_bytecode.cpp @@ -1268,6 +1268,8 @@ void Program::MakeDisassemblyString() m_Disassembly += StringFormat::Fmt("target datalayout = \"%s\"\n", m_Datalayout.c_str()); m_Disassembly += StringFormat::Fmt("target triple = \"%s\"\n\n", m_Triple.c_str()); + int instructionLine = 6; + bool typesPrinted = false; for(size_t i = 0; i < m_Types.size(); i++) @@ -1288,11 +1290,16 @@ void Program::MakeDisassemblyString() } m_Disassembly += " }\n"; typesPrinted = true; + + instructionLine++; } } if(typesPrinted) + { m_Disassembly += "\n"; + instructionLine++; + } for(size_t i = 0; i < m_GlobalVars.size(); i++) { @@ -1310,17 +1317,24 @@ void Program::MakeDisassemblyString() m_Disassembly += StringFormat::Fmt(", align %u", g.align); m_Disassembly += "\n"; + instructionLine++; } if(!m_GlobalVars.empty()) + { m_Disassembly += "\n"; + instructionLine++; + } for(size_t i = 0; i < m_Functions.size(); i++) { const Function &func = m_Functions[i]; if(func.attrs) + { m_Disassembly += StringFormat::Fmt("; Function Attrs: %s\n", func.attrs->toString().c_str()); + instructionLine++; + } m_Disassembly += (func.external ? "declare " : "define "); m_Disassembly += func.funcType->declFunction("@" + func.name); @@ -1331,12 +1345,16 @@ void Program::MakeDisassemblyString() if(!func.external) { m_Disassembly += " {\n"; + instructionLine++; m_Disassembly += " ; ...\n"; + instructionLine++; m_Disassembly += "}\n\n"; + instructionLine += 2; } else { m_Disassembly += "\n\n"; + instructionLine += 2; } }