Tweak entrypoint disassembly to work better for large interface lists

This commit is contained in:
baldurk
2024-06-26 17:07:09 +01:00
parent 187ab5726a
commit 928048b786
@@ -330,6 +330,26 @@ rdcstr Reflector::Disassemble(const rdcstr &entryPoint,
break;
}
// split the interface list onto separate lines to avoid hugely long lines on some shaders
case Op::EntryPoint:
{
OpEntryPoint decoded(it);
ret += rdcstr("EntryPoint("_lit) + ParamToStr(idName, decoded.executionModel) + ", " +
ParamToStr(idName, decoded.entryPoint) + ", " + ParamToStr(idName, decoded.name) +
", {\n";
lineNum++;
for(size_t i = 0; i < decoded.iface.size(); i++)
{
ret += " " + ParamToStr(idName, decoded.iface[i]);
if(i + 1 < decoded.iface.size())
ret += ", ";
ret += "\n";
lineNum++;
}
ret += " })";
break;
}
// ignore these operations entirely
case Op::SourceContinued:
case Op::Line: