Skip to content

Commit

Permalink
RD DXIL Disassembly: add "ssaAliases" container
Browse files Browse the repository at this point in the history
Used to display dx.op function arguments with a different string.
The resource handles store the resource name as an SSA register alias.
  • Loading branch information
Zorro666 committed May 2, 2024
1 parent d71496a commit 2b0d898
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion renderdoc/driver/shaders/dxil/dxil_disassemble.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2278,6 +2278,7 @@ void Program::MakeRDDisassemblyString(const DXBC::Reflection *reflection)
DisassemblyAddNewLine();

std::map<rdcstr, ResourceHandle> resHandles;
std::map<rdcstr, rdcstr> ssaAliases;

size_t curBlock = 0;

Expand Down Expand Up @@ -2451,6 +2452,7 @@ void Program::MakeRDDisassemblyString(const DXBC::Reflection *reflection)
resHandle.resourceClass = resClass;
resHandle.resourceIndex = resIndex;
resHandles[handleStr] = resHandle;
ssaAliases[handleStr] = resName;
}
uint32_t index;
if(getival<uint32_t>(inst.args[3], index))
Expand Down Expand Up @@ -2913,7 +2915,11 @@ void Program::MakeRDDisassemblyString(const DXBC::Reflection *reflection)
lineStr += ", ";

lineStr += paramNameStr;
lineStr += ArgToString(inst.args[a], false);
rdcstr ssaStr = ArgToString(inst.args[a], false);
if(ssaAliases.count(ssaStr) == 0)
lineStr += ssaStr;
else
lineStr += ssaAliases[ssaStr];
first = false;
}
}
Expand Down

0 comments on commit 2b0d898

Please sign in to comment.