X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=plugins%2Fdfxvideo%2Fgpu.c;fp=plugins%2Fdfxvideo%2Fgpu.c;h=50d45d59660a380a79657ee1f43be44b288b8b3f;hp=7372ba4a46732ed77e5cf1d73757dc4977053e2e;hb=f1bad6e15fb5d34fb7269936068fc2540b461a4f;hpb=1df403c52368a3930b67dedabf8c0e1d522f1cc3 diff --git a/plugins/dfxvideo/gpu.c b/plugins/dfxvideo/gpu.c index 7372ba4a..50d45d59 100644 --- a/plugins/dfxvideo/gpu.c +++ b/plugins/dfxvideo/gpu.c @@ -218,6 +218,8 @@ static void updateDisplay(void) // UPDATE DISPLAY bSkipNextFrame = FALSE; DoBufferSwap(); // -> swap } + + bDoVSyncUpdate=FALSE; // vsync done } //////////////////////////////////////////////////////////////////////// @@ -406,11 +408,14 @@ void CALLBACK GPUupdateLace(void) // VSYNC } else { - if(bDoVSyncUpdate && !UseFrameSkip) // some primitives drawn? - updateDisplay(); // -> update display + if((bDoVSyncUpdate && !UseFrameSkip) // some primitives drawn? + || bDoVSyncUpdate >= 8) // not syned for a while + updateDisplay(); // -> update display } } - bDoVSyncUpdate=FALSE; // vsync done + + if(bDoVSyncUpdate) // if display not synced + bDoVSyncUpdate++; // count how many times } ////////////////////////////////////////////////////////////////////////