dolphin/Source/Core/Common/Src
skidau a60a0825a3 Merged 'FifoBusy' branch. Thanks
to marcosvitali.

Added an external exception check when the CPU writes to the FIFO.  This allows
the CPU time to service FIFO overflows.  Fixes random hangs caused by FIFO
overflows and desyncs like in "The Last Story" and "Battalion Wars 2".  Thanks
to marcosvitali for the research.

Added some code to unlink invalidated blocks so that the recompiled block can be
linked (speed-up).

This release still fixed the hangs produced by fifo overflow without sacrifice
performance. For example you can test Tutorial moves at the beginning of The last history now
is fluid 30/60.

Fixed possibles random hangs in DC mode.
Fixed hangs in DC mode in (Simpsons, Monkey Island, Pokemon XD, etc)
Implemented accurate management of Pixel Engine Interrupts.  Now the GPU loop
is stopped when a PE Interrupt needs to be managed and resumed when Pixel Engine
finish.

Fixed Metroid Prime 3 and 2 desync. And other games with desync because of
FIFO Reset. That happens because  FIFO_RW_DISTANCE_HI must be written first, for checking
fifo.CPReadWriteDistance == 0, so some fifo resets was not managed in the right
way.

Fixed Super Monkey Ball in some cases when the game write the
WriteReadDistance need to be safe like the SafeCPRead.

Improved the CheckException for the GatherPipe writes in JIT, now only the
External Exceptions are processed.

Fixed definitely Pokemon XD in dual core mode. This game is doing something
not allowed. It attach to CPU the same fifo attached to the GPU in multibuffer
mode. I added a check to prevent overwrite the GPU FIFO with the CPU FIFO. If
the game do that on breakpoint the solution can fail.

Fixed ReadWriteDistance calc when CPRead > CPWrite.

Added Token and Finish cause to GP Jit checking.

Additional cleanup in CommandProcessor.



Fixes issue 5209
Fixes issue 5055
Fixes issue 4889
Fixes issue 4061
Fixes issue 4010
Fixes issue 3902
2012-03-20 19:37:25 +11:00
..
Crypto
ABI.cpp fix for stack corruption caused by certain DSP LLE JIT ABI calls. 2012-01-07 20:46:41 -08:00
ABI.h
Atomic_GCC.h
Atomic_Win32.h
Atomic.h
BreakPoints.cpp Linux build fix 2012-03-18 23:37:38 +11:00
BreakPoints.h Sped up the Dolphin debugger in JIT mode by splitting a block only while stepping or when it contains a breakpoint. The block is invalidated when a breakpoint is set or cleared. 2012-03-15 21:48:19 +11:00
CDUtils.cpp The data from strdup must be deallocated with free, not delete. I got rid of that ugly strdup and replaced the A though Z cdrom drive letter searching with Windows API stuffs. 2011-03-12 06:50:20 +00:00
CDUtils.h
ChunkFile.h add wstring name(s)/description to the cachefile, use when available in gamelist and properties window 2011-12-18 22:01:46 -08:00
ColorUtil.cpp
ColorUtil.h
Common.h Rearranged the SSE detection. Patch by lordlyhobo. 2012-02-06 20:51:24 +11:00
CommonFuncs.h Allow modifying main ram size at compile time by changing Memory::REALRAM_SIZE. 2011-11-27 19:52:05 -08:00
CommonPaths.h Updated the Gecko code handler to the latest version from Gecko OS 1.9.3.1. 2012-01-03 01:24:17 -05:00
CommonTypes.h
ConsoleListener.cpp Fixed some memory leaks. Only one was mine ;P 2011-03-22 07:27:23 +00:00
ConsoleListener.h Use mutexes in LogManager to make it threadsafe, as suggested by beistin's patch. Change some LogManager function names to be consistent with Dolphin's naming conventions. 2011-04-01 07:43:02 +00:00
CPUDetect.cpp Fix a crash at startup with Dolphin on Linux compiled in debug mode 2012-01-02 00:59:37 +01:00
CPUDetect.h
DebugInterface.h
ExtendedTrace.cpp
ExtendedTrace.h
FifoQueue.h
FileSearch.cpp
FileSearch.h
FileUtil.cpp Windows: Sets the cwd to the folder that dolphin.exe resides in. 2011-06-11 20:45:09 +00:00
FileUtil.h Windows: Sets the cwd to the folder that dolphin.exe resides in. 2011-06-11 20:45:09 +00:00
FixedSizeQueue.h
Hash.cpp Improvement to revision b8bef29bcc .. :P 2012-02-25 10:59:00 +01:00
Hash.h
IniFile.cpp Add comment here so people know what's up. 2012-02-28 00:27:16 -06:00
IniFile.h
LinearDiskCache.h PixelShaderGen: Fix a bug introduced in revision 9adc119e3c. 2012-02-21 12:51:41 +01:00
Log.h
LogManager.cpp added an option to log to the attached Windows debugger (so e.g. NOTICE_LOG messages can show up in Visual Studio's output window) 2012-01-07 23:04:18 -08:00
LogManager.h added an option to log to the attached Windows debugger (so e.g. NOTICE_LOG messages can show up in Visual Studio's output window) 2012-01-07 23:04:18 -08:00
MathUtil.cpp some code cleanup i have left in my folder :) 2011-05-25 18:14:29 +00:00
MathUtil.h some code cleanup i have left in my folder :) 2011-05-25 18:14:29 +00:00
MemArena.cpp
MemArena.h
MemoryUtil.cpp Avoid virtual memory range collision between JIT and emulated RAM. 2011-11-30 00:37:57 +01:00
MemoryUtil.h
Misc.cpp Hack Misc.cpp into building on OS X. 2011-03-16 22:58:24 +00:00
MsgHandler.cpp Improve the shader UID debugging stuff and merge it to VideoCommon, effectively enabling it in D3D9 and D3D11 as well. 2011-09-09 00:32:04 +02:00
MsgHandler.h Oops. Forgot to add the CriticalAlert definitions for windows. 2011-07-15 16:50:54 +00:00
NandPaths.cpp NAND:Consolidate Wad/Directory loading in CNANDContentLoader to one function 2011-05-09 05:47:29 +00:00
NandPaths.h NAND:Consolidate Wad/Directory loading in CNANDContentLoader to one function 2011-05-09 05:47:29 +00:00
SDCardUtil.cpp
SDCardUtil.h
Setup.h
stdafx.cpp
stdafx.h
StdConditionVariable.h
StdMutex.h pthread_mutexattr_t's must be initialized before the type can be set. 2011-03-14 15:06:06 +00:00
StdThread.h enable c++11 compilation in cmakelists 2012-02-24 14:19:24 -06:00
StringUtil.cpp Reset errno to zero before testing it after the strtoul call. Fixes issue 5078. 2011-12-29 12:05:36 +11:00
StringUtil.h
SymbolDB.cpp
SymbolDB.h
SysConf.cpp Fix some minor bugs pointed out by PVS Studio (thanks!) 2012-03-03 20:07:20 +01:00
SysConf.h sysconf SetArayData use the minimum of the buffersize or the dataLength 2012-02-01 00:04:18 -08:00
Thread.cpp
Thread.h fixed an issue where the CPU sometimes single-steps an extra time after pausing 2012-01-04 01:33:38 -08:00
Thunk.cpp
Thunk.h
Timer.cpp
Timer.h
Version.cpp fix build issue with intel compiler and fix some unsafe string usages, patch by FilthyMonkey 2011-10-01 21:31:43 -05:00
VideoBackendBase.cpp * GUI Video-Settings changes: 2011-03-21 19:57:31 +00:00
VideoBackendBase.h This release still fixed the hangs produced by fifo overflow without sacrifice performance. 2012-03-05 02:40:10 -03:00
x64Analyzer.cpp
x64Analyzer.h
x64Emitter.cpp Added SHRD/SHLD x86 emitters, further optimized srawx 2012-01-09 00:10:13 -05:00
x64Emitter.h Added SHRD/SHLD x86 emitters, further optimized srawx 2012-01-09 00:10:13 -05:00