From 601dc58a5259470fe699af576fb76b246fdee120 Mon Sep 17 00:00:00 2001 From: Jake Turner Date: Tue, 23 Apr 2024 11:51:18 +0100 Subject: [PATCH] RD DXIL Disassembly: change "br" output if (_32) goto _132 else goto _33; or goto _132; --- renderdoc/driver/shaders/dxil/dxil_disassemble.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/renderdoc/driver/shaders/dxil/dxil_disassemble.cpp b/renderdoc/driver/shaders/dxil/dxil_disassemble.cpp index 168f6b5e4..d84e91934 100644 --- a/renderdoc/driver/shaders/dxil/dxil_disassemble.cpp +++ b/renderdoc/driver/shaders/dxil/dxil_disassemble.cpp @@ -2677,15 +2677,18 @@ void Program::MakeRDDisassemblyString() } case Operation::Branch: { - lineStr += "br "; if(inst.args.size() > 1) { + lineStr += "if ("; lineStr += ArgToString(inst.args[2], false); - lineStr += StringFormat::Fmt(", %s", ArgToString(inst.args[0], false).c_str()); - lineStr += StringFormat::Fmt(", %s", ArgToString(inst.args[1], false).c_str()); + lineStr += ") goto "; + lineStr += StringFormat::Fmt("%s", ArgToString(inst.args[0], false).c_str()); + lineStr += " else goto "; + lineStr += StringFormat::Fmt("%s", ArgToString(inst.args[1], false).c_str()); } else { + lineStr += "goto "; lineStr += ArgToString(inst.args[0], false); } break;