Fifo analyzer: Improve some BP descriptions

Mainly, the improvements are passing in the current command ID so that e.g. stage numbers can be directly included, instead of saying 0/1 or even/odd.
This commit is contained in:
Pokechu22
2021-12-26 20:52:07 -08:00
parent 546f9952a2
commit 3fb09e3297
2 changed files with 80 additions and 57 deletions

View File

@ -811,7 +811,7 @@ std::pair<std::string, std::string> GetBPRegInfo(u8 cmd, u32 cmddata)
case BPMEM_IND_CMD + 13:
case BPMEM_IND_CMD + 14:
case BPMEM_IND_CMD + 15:
return std::make_pair(fmt::format("BPMEM_IND_CMD command {}", cmd - BPMEM_IND_CMD),
return std::make_pair(fmt::format("BPMEM_IND_CMD number {}", cmd - BPMEM_IND_CMD),
fmt::to_string(TevStageIndirect{.fullhex = cmddata}));
case BPMEM_SCISSORTL: // 0x20
@ -832,14 +832,12 @@ std::pair<std::string, std::string> GetBPRegInfo(u8 cmd, u32 cmddata)
// TODO: Description
case BPMEM_RAS1_SS0: // 0x25
return std::make_pair(
RegName(BPMEM_RAS1_SS0),
fmt::format("Indirect texture stages 0 and 1:\n{}", TEXSCALE{.hex = cmddata}));
return std::make_pair(RegName(BPMEM_RAS1_SS0),
fmt::to_string(std::make_pair(cmd, TEXSCALE{.hex = cmddata})));
case BPMEM_RAS1_SS1: // 0x26
return std::make_pair(
RegName(BPMEM_RAS1_SS1),
fmt::format("Indirect texture stages 2 and 3:\n{}", TEXSCALE{.hex = cmddata}));
return std::make_pair(RegName(BPMEM_RAS1_SS1),
fmt::to_string(std::make_pair(cmd, TEXSCALE{.hex = cmddata})));
case BPMEM_IREF: // 0x27
return std::make_pair(RegName(BPMEM_IREF), fmt::to_string(RAS1_IREF{.hex = cmddata}));
@ -853,7 +851,7 @@ std::pair<std::string, std::string> GetBPRegInfo(u8 cmd, u32 cmddata)
case BPMEM_TREF + 6:
case BPMEM_TREF + 7:
return std::make_pair(fmt::format("BPMEM_TREF number {}", cmd - BPMEM_TREF),
fmt::to_string(TwoTevStageOrders{.hex = cmddata}));
fmt::to_string(std::make_pair(cmd, TwoTevStageOrders{.hex = cmddata})));
case BPMEM_SU_SSIZE: // 0x30
case BPMEM_SU_SSIZE + 2:
@ -864,7 +862,7 @@ std::pair<std::string, std::string> GetBPRegInfo(u8 cmd, u32 cmddata)
case BPMEM_SU_SSIZE + 12:
case BPMEM_SU_SSIZE + 14:
return std::make_pair(fmt::format("BPMEM_SU_SSIZE number {}", (cmd - BPMEM_SU_SSIZE) / 2),
fmt::format("S size info:\n{}", TCInfo{.hex = cmddata}));
fmt::to_string(std::make_pair(true, TCInfo{.hex = cmddata})));
case BPMEM_SU_TSIZE: // 0x31
case BPMEM_SU_TSIZE + 2:
@ -875,7 +873,7 @@ std::pair<std::string, std::string> GetBPRegInfo(u8 cmd, u32 cmddata)
case BPMEM_SU_TSIZE + 12:
case BPMEM_SU_TSIZE + 14:
return std::make_pair(fmt::format("BPMEM_SU_TSIZE number {}", (cmd - BPMEM_SU_TSIZE) / 2),
fmt::format("T size info:\n{}", TCInfo{.hex = cmddata}));
fmt::to_string(std::make_pair(false, TCInfo{.hex = cmddata})));
case BPMEM_ZMODE: // 0x40
return std::make_pair(RegName(BPMEM_ZMODE), fmt::format("Z mode: {}", ZMode{.hex = cmddata}));
@ -1249,7 +1247,7 @@ std::pair<std::string, std::string> GetBPRegInfo(u8 cmd, u32 cmddata)
case BPMEM_TEV_KSEL + 6:
case BPMEM_TEV_KSEL + 7:
return std::make_pair(fmt::format("BPMEM_TEV_KSEL number {}", cmd - BPMEM_TEV_KSEL),
fmt::to_string(TevKSel{.hex = cmddata}));
fmt::to_string(std::make_pair(cmd, TevKSel{.hex = cmddata})));
case BPMEM_BP_MASK: // 0xFE
return std::make_pair(RegName(BPMEM_BP_MASK),