Skip to content

Commit

Permalink
rsx: Add range of allowed unknown FIFO methods
Browse files Browse the repository at this point in the history
  • Loading branch information
elad335 committed Mar 24, 2020
1 parent 5b7864a commit 29bd649
Showing 1 changed file with 13 additions and 2 deletions.
15 changes: 13 additions & 2 deletions rpcs3/Emu/RSX/rsx_methods.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,20 @@ namespace rsx
{
//Don't throw, gather information and ignore broken/garbage commands
//TODO: Investigate why these commands are executed at all. (Heap corruption? Alignment padding?)
rsx->invalid_command_interrupt_raised = !(_reg >= 0xac80 >> 2 && _reg < 0xb000 >> 2); // HACK: Allow these "unknown" methods

const u32 cmd = rsx->get_fifo_cmd();
rsx_log.error("Invalid RSX method 0x%x (arg=0x%x, start=0x%x, count=0x%x, non-inc=%s)", _reg << 2, arg,
cmd & 0xfffc, (cmd >> 18) & 0x7ff, !!(cmd & RSX_METHOD_NON_INCREMENT_CMD));
if (rsx->invalid_command_interrupt_raised || _reg == 0xac80 >> 2)
{
rsx_log.error("Invalid RSX method 0x%x (arg=0x%x, start=0x%x, count=0x%x, non-inc=%s)", _reg << 2, arg,
cmd & 0xfffc, (cmd >> 18) & 0x7ff, !!(cmd & RSX_METHOD_NON_INCREMENT_CMD));
}
else
{
rsx_log.trace("Invalid RSX method 0x%x (arg=0x%x, start=0x%x, count=0x%x, non-inc=%s)", _reg << 2, arg,
cmd & 0xfffc, (cmd >> 18) & 0x7ff, !!(cmd & RSX_METHOD_NON_INCREMENT_CMD));
}

rsx->invalid_command_interrupt_raised = true;
}

Expand Down

0 comments on commit 29bd649

Please sign in to comment.