diff --git a/gfx/video_driver.c b/gfx/video_driver.c index 2bb8e0c289..3315c3f25b 100644 --- a/gfx/video_driver.c +++ b/gfx/video_driver.c @@ -1063,7 +1063,8 @@ static bool video_driver_init_internal(bool *video_is_threaded) command_event(CMD_EVENT_OVERLAY_DEINIT, NULL); command_event(CMD_EVENT_OVERLAY_INIT, NULL); - video_driver_cached_frame_set(&dummy_pixels, 4, 4, 8); + if (!frame_cache_data) + video_driver_cached_frame_set(&dummy_pixels, 4, 4, 8); #if defined(PSP) video_driver_set_texture_frame(&dummy_pixels, false, 1, 1, 1.0f); @@ -2502,9 +2503,7 @@ void video_driver_build_info(video_frame_info_t *video_info) video_info->xmb_alpha_factor = settings->uints.menu_xmb_alpha_factor; video_info->menu_wallpaper_opacity = settings->floats.menu_wallpaper_opacity; - if (!settings->bools.menu_pause_libretro) - video_info->libretro_running = (rarch_ctl(RARCH_CTL_IS_INITED, NULL) - && !rarch_ctl(RARCH_CTL_IS_DUMMY_CORE, NULL)); + video_info->libretro_running = core_is_game_loaded(); #else video_info->menu_is_alive = false; video_info->menu_footer_opacity = 0.0f; diff --git a/menu/drivers/xmb.c b/menu/drivers/xmb.c index 0abea01a11..f326c5d001 100644 --- a/menu/drivers/xmb.c +++ b/menu/drivers/xmb.c @@ -2582,7 +2582,7 @@ static void xmb_draw_bg( if (!running && draw.texture) draw.color = &coord_white[0]; - if (video_info->xmb_color_theme == XMB_THEME_WALLPAPER) + if (running || video_info->xmb_color_theme == XMB_THEME_WALLPAPER) add_opacity = true; menu_display_draw_bg(&draw, video_info, add_opacity); diff --git a/menu/menu_driver.c b/menu/menu_driver.c index a7d1fad1cf..2c20a6fd63 100644 --- a/menu/menu_driver.c +++ b/menu/menu_driver.c @@ -543,7 +543,7 @@ void menu_display_draw_bg(menu_display_ctx_draw_t *draw, draw->coords = &coords; - if (!video_info->libretro_running && !draw->pipeline.active) + if (draw->texture) add_opacity_to_wallpaper = true; if (add_opacity_to_wallpaper)