From: Francisco Javier Trujillo Mata Date: Mon, 13 Jan 2025 19:24:46 +0000 (+0100) Subject: fix VSync X-Git-Tag: v2.04~91 X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c767d68448a6dda4a2ef1c81fa9c66be92f0b7e7;p=picodrive.git fix VSync --- 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();