From c767d68448a6dda4a2ef1c81fa9c66be92f0b7e7 Mon Sep 17 00:00:00 2001
From: Francisco Javier Trujillo Mata <fjtrujy@gmail.com>
Date: Mon, 13 Jan 2025 20:24:46 +0100
Subject: [PATCH] fix VSync

---
 platform/ps2/emu.c | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

diff --git a/platform/ps2/emu.c b/platform/ps2/emu.c
index 60667577..88066734 100644
--- a/platform/ps2/emu.c
+++ b/platform/ps2/emu.c
@@ -384,15 +384,6 @@ static int vsync_handler(void)
 	return 0;
 }
 
-/* Copy of gsKit_sync_flip, but without the 'flip' */
-static void gsKit_sync(GSGLOBAL *gsGlobal)
-{
-	if (!gsGlobal->FirstFrame)
-		WaitSema(vsync_sema_id);
-
-	while (PollSema(vsync_sema_id) >= 0);
-}
-
 /* Copy of gsKit_sync_flip, but without the 'sync' */
 static void gsKit_flip(GSGLOBAL *gsGlobal)
 {
@@ -866,7 +857,11 @@ void plat_video_flip(void)
 /* wait for start of vertical blanking */
 void plat_video_wait_vsync(void)
 {
-	gsKit_sync(gsGlobal);
+	while (PollSema(vsync_sema_id) >= 0);
+
+	if (!gsGlobal->FirstFrame)
+		WaitSema(vsync_sema_id);
+	
 }
 
 /* update surface data */
@@ -926,6 +921,8 @@ void plat_init(void)
 {
 	video_init();
 	init_joystick_driver(false);
+
+	flip_after_sync = 1;
 	in_ps2_init(in_ps2_defbinds);
 	in_probe();
 	init_audio_driver();
-- 
2.39.5