Show a panic alert if the CP matrix indices don't match the XF matrix indices

This almost certainly never happens, but if it does we want to know.
This commit is contained in:
Pokechu22
2022-05-17 13:58:54 -07:00
parent 38a75f6a49
commit 8df55b492c
4 changed files with 18 additions and 15 deletions

View File

@ -321,6 +321,18 @@ static void CheckCPConfiguration(int vtx_attr_group)
// Don't bail out, though; we can still render something successfully
// (real hardware seems to hang in this case, though)
}
if (g_main_cp_state.matrix_index_a.Hex != xfmem.MatrixIndexA.Hex ||
g_main_cp_state.matrix_index_b.Hex != xfmem.MatrixIndexB.Hex)
{
PanicAlertFmt("Mismatched matrix index configuration between CP and XF stages - "
"index A: {:08x}/{:08x}, index B {:08x}/{:08x}. "
"Please report on the issue tracker.",
g_main_cp_state.matrix_index_a.Hex, xfmem.MatrixIndexA.Hex,
g_main_cp_state.matrix_index_b.Hex, xfmem.MatrixIndexB.Hex);
DolphinAnalytics::Instance().ReportGameQuirk(
GameQuirk::MISMATCHED_GPU_MATRIX_INDICES_BETWEEN_CP_AND_XF);
}
}
int RunVertices(int vtx_attr_group, OpcodeDecoder::Primitive primitive, int count, DataReader src,