From a3708cfc524d0c6a2d0abbc1dfb8752ce0dd01c0 Mon Sep 17 00:00:00 2001 From: Jake Turner Date: Wed, 18 Dec 2024 15:52:21 +0000 Subject: [PATCH] Ignore DXC Nop instructions when setting instruction disassemblyLine --- renderdoc/driver/shaders/dxil/dxil_disassemble.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/renderdoc/driver/shaders/dxil/dxil_disassemble.cpp b/renderdoc/driver/shaders/dxil/dxil_disassemble.cpp index f45770ef6..99541dd90 100644 --- a/renderdoc/driver/shaders/dxil/dxil_disassemble.cpp +++ b/renderdoc/driver/shaders/dxil/dxil_disassemble.cpp @@ -3287,14 +3287,20 @@ void Program::MakeRDDisassemblyString(const DXBC::Reflection *reflection) func.blocks[curBlock]->id); DisassemblyAddNewLine(1); + uint32_t lastNonNopDisassemblyLine = 0; + for(size_t funcIdx = 0; funcIdx < func.instructions.size(); funcIdx++) { Instruction &inst = *func.instructions[funcIdx]; - inst.disassemblyLine = m_DisassemblyInstructionLine; - if(IsDXCNop(inst)) + { + inst.disassemblyLine = lastNonNopDisassemblyLine; continue; + } + + inst.disassemblyLine = m_DisassemblyInstructionLine; + lastNonNopDisassemblyLine = inst.disassemblyLine; rdcstr resultTypeStr; if(!inst.type->isVoid())