From d4b7edff4a39550da3529087f27762108c3be434 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Sun, 22 Jan 2017 17:30:32 +0100 Subject: [PATCH] Cut down on menu_driver_ctl usage from within video drivers --- gfx/drivers/caca_gfx.c | 4 ++-- gfx/drivers/gdi_gfx.c | 4 ++-- gfx/drivers/vga_gfx.c | 4 ++-- gfx/video_driver.c | 3 +++ gfx/video_driver.h | 2 ++ 5 files changed, 11 insertions(+), 6 deletions(-) diff --git a/gfx/drivers/caca_gfx.c b/gfx/drivers/caca_gfx.c index b18b187dae..1c5a24d842 100644 --- a/gfx/drivers/caca_gfx.c +++ b/gfx/drivers/caca_gfx.c @@ -137,7 +137,7 @@ static bool caca_gfx_frame(void *data, const void *frame, if (!caca_cv) return true; - if (caca_menu_frame && menu_driver_ctl(RARCH_MENU_CTL_IS_ALIVE, NULL)) + if (caca_menu_frame && video_info->menu_is_alive) frame_to_copy = caca_menu_frame; width = caca_get_canvas_width(caca_cv); @@ -149,7 +149,7 @@ static bool caca_gfx_frame(void *data, const void *frame, (frame_width < width && frame_height < height)) draw = false; - if (menu_driver_ctl(RARCH_MENU_CTL_IS_ALIVE, NULL)) + if (video_info->menu_is_alive) draw = false; caca_clear_canvas(caca_cv); diff --git a/gfx/drivers/gdi_gfx.c b/gfx/drivers/gdi_gfx.c index b5acf4730b..c02517f195 100644 --- a/gfx/drivers/gdi_gfx.c +++ b/gfx/drivers/gdi_gfx.c @@ -184,7 +184,7 @@ static bool gdi_gfx_frame(void *data, const void *frame, } } - if (gdi_menu_frame && menu_driver_ctl(RARCH_MENU_CTL_IS_ALIVE, NULL)) + if (gdi_menu_frame && video_info->menu_is_alive) { frame_to_copy = gdi_menu_frame; width = gdi_menu_width; @@ -201,7 +201,7 @@ static bool gdi_gfx_frame(void *data, const void *frame, if (frame_width == 4 && frame_height == 4 && (frame_width < width && frame_height < height)) draw = false; - if (menu_driver_ctl(RARCH_MENU_CTL_IS_ALIVE, NULL)) + if (video_info->menu_is_alive) draw = false; } diff --git a/gfx/drivers/vga_gfx.c b/gfx/drivers/vga_gfx.c index b191ab95e3..2cd19893bf 100644 --- a/gfx/drivers/vga_gfx.c +++ b/gfx/drivers/vga_gfx.c @@ -172,7 +172,7 @@ static bool vga_gfx_frame(void *data, const void *frame, } } - if (vga_menu_frame && menu_driver_ctl(RARCH_MENU_CTL_IS_ALIVE, NULL)) + if (vga_menu_frame && video_info->menu_is_alive) { frame_to_copy = vga_menu_frame; width = vga_menu_width; @@ -189,7 +189,7 @@ static bool vga_gfx_frame(void *data, const void *frame, if (frame_width == 4 && frame_height == 4 && (frame_width < width && frame_height < height)) draw = false; - if (menu_driver_ctl(RARCH_MENU_CTL_IS_ALIVE, NULL)) + if (video_info->menu_is_alive) draw = false; } diff --git a/gfx/video_driver.c b/gfx/video_driver.c index d097f4639b..40f9cf8a20 100644 --- a/gfx/video_driver.c +++ b/gfx/video_driver.c @@ -39,6 +39,7 @@ #endif #ifdef HAVE_MENU +#include "../menu/menu_driver.h" #include "../menu/menu_setting.h" #endif @@ -2289,6 +2290,7 @@ void video_driver_build_info(video_frame_info_t *video_info) video_info->libretro_running = false; #ifdef HAVE_MENU + video_info->menu_is_alive = menu_driver_ctl(RARCH_MENU_CTL_IS_ALIVE, NULL); video_info->menu_footer_opacity = settings->menu.footer.opacity; video_info->menu_header_opacity = settings->menu.header.opacity; video_info->materialui_color_theme = settings->menu.materialui.menu_color_theme; @@ -2305,6 +2307,7 @@ void video_driver_build_info(video_frame_info_t *video_info) video_info->libretro_running = (rarch_ctl(RARCH_CTL_IS_INITED, NULL) && !rarch_ctl(RARCH_CTL_IS_DUMMY_CORE, NULL)); #else + video_info->menu_is_alive = false; video_info->menu_footer_opacity = 0.0f; video_info->menu_header_opacity = 0.0f; video_info->materialui_color_theme = 0; diff --git a/gfx/video_driver.h b/gfx/video_driver.h index 054f7ff822..ec42341613 100644 --- a/gfx/video_driver.h +++ b/gfx/video_driver.h @@ -131,6 +131,8 @@ typedef struct video_frame_info bool runloop_is_slowmotion; bool runloop_is_idle; bool runloop_is_paused; + + bool menu_is_alive; } video_frame_info_t; /* Optionally implemented interface to poke more