summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/ControllerInterface/Device.cpp
diff options
context:
space:
mode:
authorMichael Maltese <michaeljosephmaltese@gmail.com>2017-05-08 17:16:47 -0700
committerMichael Maltese <michaeljosephmaltese@gmail.com>2017-05-19 19:04:06 -0700
commit43c09c63d83377f59391c199837369fadf0cdc7b (patch)
tree65e496a1cde99efa72be68d285c8c4d9d848305b /Source/Core/InputCommon/ControllerInterface/Device.cpp
parentb47d44ab15924d9965370172f0978b402ee88afc (diff)
AX-HLE: delay sending interrupt when done processing command list
Fixes https://bugs.dolphin-emu.org/issues/10265 (Star Wars: The Clone Wars hangs on loading screen with DSP-HLE and JIT Recompiler). The Clone Wars hangs upon initial boot if this interrupt happens too quickly after submitting a command list. When played in DSP-LLE, the interrupt lags by about 160,000 cycles, though any value greater than or equal to 814 will work. In other games, the lag can be as small as 50,000 cycles (in Metroid Prime) and as large as 718,092 cycles (in Tales of Symphonia!). All credit to @hthh, who put in a heroic(!) amount of detective work and discovered that The Clone Wars tracks a "AXCommandListCycles" variable which matches the aforementioned 160,000 cycles. It's initialized to ~2500 cycles for a minimal, empty command list, so that should be a safe number for pretty much anything a game does (*crosses fingers*).
Diffstat (limited to 'Source/Core/InputCommon/ControllerInterface/Device.cpp')
0 files changed, 0 insertions, 0 deletions