dolphin/Source
Michael Maltese 43c09c63d8 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*).
2017-05-19 19:04:06 -07:00
..
Android DiscIO: Remove VolumeCreator 2017-05-19 18:33:21 +02:00
Core AX-HLE: delay sending interrupt when done processing command list 2017-05-19 19:04:06 -07:00
DSPSpy Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
DSPTool CMakeLists: Normalize whitespace 2017-03-01 14:53:23 -05:00
PCH Reformat all the things. Have fun with merge conflicts. 2016-06-24 10:43:46 +02:00
UnitTests Remove D3D12 2017-05-18 17:01:12 -07:00
VSProps Base.props: Add /utf-8 compiler option. 2017-05-04 18:03:41 +02:00
.clang-format clang-format: Sort windows.h before other headers 2017-01-23 00:35:09 -08:00
CMakeLists.txt CMake: add CMAKE_CXX_STANDARD_REQUIRED=ON 2017-03-14 13:52:02 -07:00
dolphin-emu.sln Remove D3D12 2017-05-18 17:01:12 -07:00