From e1ac9aed6bbe183edd616e63acf7987cca27dcdf Mon Sep 17 00:00:00 2001 From: twinaphex Date: Fri, 20 Nov 2015 19:04:00 +0100 Subject: [PATCH] Add RARCH_DISPLAY_CTL_MONITOR_RESET --- driver.c | 3 +-- gfx/video_driver.c | 8 +++----- gfx/video_driver.h | 1 + gfx/video_monitor.h | 2 -- menu/menu_setting.c | 2 +- 5 files changed, 6 insertions(+), 10 deletions(-) diff --git a/driver.c b/driver.c index 0e89186eb2..e6dcdea132 100644 --- a/driver.c +++ b/driver.c @@ -382,8 +382,7 @@ void init_drivers(int flags) const struct retro_hw_render_callback *hw_render = (const struct retro_hw_render_callback*)video_driver_callback(); - video_monitor_reset(); - + video_driver_ctl(RARCH_DISPLAY_CTL_MONITOR_RESET, NULL); video_driver_ctl(RARCH_DISPLAY_CTL_INIT, NULL); if (!driver->video_cache_context_ack diff --git a/gfx/video_driver.c b/gfx/video_driver.c index 584736cf09..c250929ded 100644 --- a/gfx/video_driver.c +++ b/gfx/video_driver.c @@ -1031,11 +1031,6 @@ bool video_monitor_get_fps(char *buf, size_t size, return true; } -void video_monitor_reset(void) -{ - video_state.frame_time_samples_count = 0; -} - float video_driver_get_aspect_ratio(void) { return video_state.aspect_ratio; @@ -1154,6 +1149,9 @@ bool video_driver_ctl(enum rarch_display_ctl_state state, void *data) return init_video(); case RARCH_DISPLAY_CTL_DEINIT: return uninit_video_input(); + case RARCH_DISPLAY_CTL_MONITOR_RESET: + video_state.frame_time_samples_count = 0; + return true; case RARCH_DISPLAY_CTL_SET_ASPECT_RATIO: if (!poke || !poke->set_aspect_ratio) return false; diff --git a/gfx/video_driver.h b/gfx/video_driver.h index c526eb2dba..9abc111269 100644 --- a/gfx/video_driver.h +++ b/gfx/video_driver.h @@ -223,6 +223,7 @@ enum rarch_display_ctl_state RARCH_DISPLAY_CTL_NONE = 0, RARCH_DISPLAY_CTL_INIT, RARCH_DISPLAY_CTL_DEINIT, + RARCH_DISPLAY_CTL_MONITOR_RESET, RARCH_DISPLAY_CTL_APPLY_STATE_CHANGES, RARCH_DISPLAY_CTL_FIND_DRIVER, RARCH_DISPLAY_CTL_FRAME_FILTER_ALIVE, diff --git a/gfx/video_monitor.h b/gfx/video_monitor.h index 1b87af23c8..868a7f01fa 100644 --- a/gfx/video_monitor.h +++ b/gfx/video_monitor.h @@ -75,8 +75,6 @@ bool video_monitor_fps_statistics(double *refresh_rate, bool video_monitor_get_fps(char *buf, size_t size, char *buf_fps, size_t size_fps); -void video_monitor_reset(void); - #ifdef __cplusplus } #endif diff --git a/menu/menu_setting.c b/menu/menu_setting.c index afcf96ce53..ecc194e5bc 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -880,7 +880,7 @@ static int setting_action_start_libretro_device_type(void *data) static int setting_action_start_video_refresh_rate_auto( void *data) { - video_monitor_reset(); + video_driver_ctl(RARCH_DISPLAY_CTL_MONITOR_RESET, NULL); return 0; }