summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/ControllerInterface/SDL/SDL.cpp
diff options
context:
space:
mode:
authorTillmann Karras <tilkax@gmail.com>2024-10-30 19:44:09 +0000
committerTillmann Karras <tilkax@gmail.com>2024-10-30 21:16:31 +0000
commit5adc1bdecddf212f0b8bf7f4dc0ba173a09aac14 (patch)
tree8721314ed35040aa51dec2776e0221d5b3ddf1de /Source/Core/InputCommon/ControllerInterface/SDL/SDL.cpp
parentadafe1f34734d7d2fc8e000a2766c0bf2f119fdf (diff)
GameSettings: add patch to fix Eternal Darkness startup hang
The game calls GXSetDrawDone and then switches the GP fifo without first waiting for the draw done interrupt to arrive. Before e96960e2a678f072f316173c80650897013fb99c, Dolphin would not execute the draw done command and potentially also skip other commands in the old GP fifo. Since that commit, Dolphin executes the remaining commands on the old GP fifo just before disabling reads for switching, but because PixelEngineManager::RaiseEvent() enforces a minimum delay of 500 cycles for the draw done interrupt, it arrives after the game has switched to the new GP fifo which seems to trigger the deadlock. This patch replaces the call to GXSetDrawDone by a call to GXDrawDone which does the same but also waits for the interrupt.
Diffstat (limited to 'Source/Core/InputCommon/ControllerInterface/SDL/SDL.cpp')
0 files changed, 0 insertions, 0 deletions