diff --git a/gfx/video_driver.c b/gfx/video_driver.c index 599f6df5f2..da97bbca33 100644 --- a/gfx/video_driver.c +++ b/gfx/video_driver.c @@ -684,3 +684,19 @@ void video_driver_set_osd_msg(const char *msg, driver->video_poke->set_osd_msg(driver->video_data, msg, params, font); } + +void video_driver_set_texture_enable(bool enable, bool fullscreen) +{ +#ifdef HAVE_MENU + driver_t *driver = driver_get_ptr(); + + if (!driver->video_data) + return; + if (!driver->video_poke) + return; + if (!driver->video_poke->set_texture_enable) + return; + driver->video_poke->set_texture_enable(driver->video_data, + enable, fullscreen); +#endif +} diff --git a/gfx/video_driver.h b/gfx/video_driver.h index aa409ae9bc..3de4de4635 100644 --- a/gfx/video_driver.h +++ b/gfx/video_driver.h @@ -291,6 +291,8 @@ void video_driver_show_mouse(bool state); void video_driver_set_osd_msg(const char *msg, const struct font_params *params, void *font); +void video_driver_set_texture_enable(bool enable, bool full_screen); + #ifdef __cplusplus } #endif diff --git a/menu/menu.c b/menu/menu.c index 2304bcadf0..524cef4fad 100644 --- a/menu/menu.c +++ b/menu/menu.c @@ -48,10 +48,7 @@ static void draw_frame(void) global_t *global = global_get_ptr(); settings_t *settings = config_get_ptr(); - if (driver->video_data && driver->video_poke && - driver->video_poke->set_texture_enable) - driver->video_poke->set_texture_enable(driver->video_data, - true, false); + video_driver_set_texture_enable(true, false); if (!settings->menu.pause_libretro) { diff --git a/retroarch.c b/retroarch.c index ab6c51df5f..64cc12d26a 100644 --- a/retroarch.c +++ b/retroarch.c @@ -2109,10 +2109,7 @@ void rarch_main_set_state(unsigned cmd) /* Restore libretro keyboard callback. */ global->system.key_event = global->frontend_key_event; #endif - if (driver->video_data && driver->video_poke && - driver->video_poke->set_texture_enable) - driver->video_poke->set_texture_enable(driver->video_data, - false, false); + video_driver_set_texture_enable(false, false); break; case RARCH_ACTION_STATE_QUIT: global->system.shutdown = true; diff --git a/screenshot.c b/screenshot.c index 8f1c6b6fd5..c975ca2e50 100644 --- a/screenshot.c +++ b/screenshot.c @@ -272,12 +272,8 @@ bool take_screenshot(void) if (viewport_read) { -#ifdef HAVE_MENU /* Avoid taking screenshot of GUI overlays. */ - if (driver->video_poke && driver->video_poke->set_texture_enable) - driver->video_poke->set_texture_enable(driver->video_data, - false, false); -#endif + video_driver_set_texture_enable(false, false); if (driver->video) rarch_render_cached_frame();