mirror of
https://github.com/hrydgard/ppsspp.git
synced 2025-04-02 11:01:50 -04:00
Avoid triggering SYNC ge signals.
Fixes #5806, bcause it avoids rescheduling at the signal, which it should not do. Possibly this is incorrect for all GE signals, but we don't need to trigger any behavior on a sync anyway.
This commit is contained in:
parent
9d99aaaeaf
commit
9c75c1e6fd
1 changed files with 4 additions and 0 deletions
|
@ -823,6 +823,10 @@ void GPUCommon::ExecuteOp(u32 op, u32 diff) {
|
||||||
ERROR_LOG_REPORT(G3D, "Signal with Pause UNIMPLEMENTED! signal/end: %04x %04x", signal, enddata);
|
ERROR_LOG_REPORT(G3D, "Signal with Pause UNIMPLEMENTED! signal/end: %04x %04x", signal, enddata);
|
||||||
break;
|
break;
|
||||||
case PSP_GE_SIGNAL_SYNC:
|
case PSP_GE_SIGNAL_SYNC:
|
||||||
|
// Technically, this ought to trigger an interrupt, but it won't do anything.
|
||||||
|
// Triggering here can cause incorrect rescheduling, which breaks 3rd Birthday.
|
||||||
|
// However, this is likely a bug in how GE signal interrupts are handled.
|
||||||
|
trigger = false;
|
||||||
currentList->signal = behaviour;
|
currentList->signal = behaviour;
|
||||||
DEBUG_LOG(G3D, "Signal with Sync. signal/end: %04x %04x", signal, enddata);
|
DEBUG_LOG(G3D, "Signal with Sync. signal/end: %04x %04x", signal, enddata);
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Add table
Reference in a new issue