aboutsummaryrefslogtreecommitdiff
path: root/plugins/dfxvideo/gpu.c
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/dfxvideo/gpu.c')
-rw-r--r--plugins/dfxvideo/gpu.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/plugins/dfxvideo/gpu.c b/plugins/dfxvideo/gpu.c
index 7372ba4..50d45d5 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
}
////////////////////////////////////////////////////////////////////////