summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/Src/PixelEngine.cpp
diff options
context:
space:
mode:
authorMarcos Vitali <marcosvitali@gmail.com>2010-06-24 13:28:54 +0000
committerMarcos Vitali <marcosvitali@gmail.com>2010-06-24 13:28:54 +0000
commit10b5d2371c97c63cf12b3d88bdd40b341c4fa8ac (patch)
treee0e6562b985c5572fd84bbb0cd0d6789d2dc5cf3 /Source/Core/VideoCommon/Src/PixelEngine.cpp
parent2faae384b3c265d1538be08e785f9f6ac73257de (diff)
My first commit :D
Dual Core sync fix. When the FIFO is processing data we must not advance the cpu cycles in CoreTiming because in this way the VI will be desynchronized. So, We are waiting until the FIFO finish and while we process only the events required by the FIFO. This should fix Issue 2072 . This affect to all games in dual core mode. Please, You can test all games with VPS limiter auto, 60, 50 depending of the game and compare with prev revision. For example now NSMB in the video Intro has 60 fps (prev 30 fps) :D or SMG does't need anymore FPS Limitter Hack to get 55-60 fps Beside the slowdowns now are more softly and the fps more stables because the VI sync is almost perfect. The Core Timing and Fifo modifications are delicated. Please report if this hang any game. Don't forget check with prev revision. Enjoy it! Thanks to Rodolfo for teach me all about dolphin. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5777 8ced0084-cf51-0410-be5f-012b33b47a6e
Diffstat (limited to 'Source/Core/VideoCommon/Src/PixelEngine.cpp')
-rw-r--r--Source/Core/VideoCommon/Src/PixelEngine.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/Source/Core/VideoCommon/Src/PixelEngine.cpp b/Source/Core/VideoCommon/Src/PixelEngine.cpp
index 920041912b..8bfe6a314e 100644
--- a/Source/Core/VideoCommon/Src/PixelEngine.cpp
+++ b/Source/Core/VideoCommon/Src/PixelEngine.cpp
@@ -354,7 +354,7 @@ void SetToken(const u16 _token, const int _bSetTokenAcknowledge)
// This seems smelly...
CommandProcessor::IncrementGPWDToken(); // for DC watchdog hack since PEToken seems to be a frame-finish too
g_VideoInitialize.pScheduleEvent_Threadsafe(
- 0, et_SetTokenOnMainThread, _token | (_bSetTokenAcknowledge << 16));
+ 0, et_SetTokenOnMainThread, _token | (_bSetTokenAcknowledge << 16), true);
}
else // set token value
{
@@ -373,7 +373,7 @@ void SetFinish()
{
CommandProcessor::IncrementGPWDToken(); // for DC watchdog hack
g_VideoInitialize.pScheduleEvent_Threadsafe(
- 0, et_SetFinishOnMainThread, 0);
+ 0, et_SetFinishOnMainThread, 0, true);
INFO_LOG(PIXELENGINE, "VIDEO Set Finish");
}