From 6eb089cb823112e00b609ad1546cd6d22e33b38f Mon Sep 17 00:00:00 2001 From: radius Date: Mon, 8 Jan 2018 20:03:29 -0500 Subject: [PATCH 1/2] Revert "Fast forward state disable hard sync" This reverts commit ea5045d50a54840ccd4ec91550d59a6c6789bf2e. --- retroarch.c | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/retroarch.c b/retroarch.c index af98194dc9..bb56980c44 100644 --- a/retroarch.c +++ b/retroarch.c @@ -230,7 +230,6 @@ static bool runloop_remaps_game_active = false; static bool runloop_game_options_active = false; static bool runloop_missing_bios = false; static bool runloop_autosave = false; -static bool runloop_had_hard_sync = false; static rarch_system_info_t runloop_system; static struct retro_frame_time_callback runloop_frame_time; @@ -2802,18 +2801,6 @@ static enum runloop_state runloop_check_state( runloop_msg_queue_push( msg_hash_to_str(MSG_FAST_FORWARD), 1, 1, false); - /* Disable gpu hard sync in fast forward state for speed. */ - if (runloop_fastmotion && settings->bools.video_hard_sync) - { - settings->bools.video_hard_sync = false; - runloop_had_hard_sync = true; - } - else if (!runloop_fastmotion && runloop_had_hard_sync) - { - settings->bools.video_hard_sync = true; - runloop_had_hard_sync = false; - } - old_button_state = new_button_state; old_hold_button_state = new_hold_button_state; } From 8007c3efd7272516446816f9df45e5ad142f9552 Mon Sep 17 00:00:00 2001 From: radius Date: Mon, 8 Jan 2018 20:06:24 -0500 Subject: [PATCH 2/2] Disable hard sync on FF without mangling settings --- gfx/drivers/gl.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gfx/drivers/gl.c b/gfx/drivers/gl.c index f37d39dc8a..3dc0d88338 100644 --- a/gfx/drivers/gl.c +++ b/gfx/drivers/gl.c @@ -1202,7 +1202,8 @@ static bool gl_frame(void *data, const void *frame, video_info->cb_swap_buffers(video_info->context_data, video_info); - if (video_info->hard_sync && gl->have_sync) + /* check if we are fast forwarding, if we are ignore hard sync */ + if (gl->have_sync && video_info->hard_sync && !video_info->input_driver_nonblock_state) { glClear(GL_COLOR_BUFFER_BIT);