diff --git a/gfx/gfx_widgets.c b/gfx/gfx_widgets.c index c4cf5783ff..81b7703c77 100644 --- a/gfx/gfx_widgets.c +++ b/gfx/gfx_widgets.c @@ -1583,9 +1583,9 @@ static void INLINE gfx_widgets_font_unbind(gfx_widget_font_data_t *font_data) void gfx_widgets_frame(void *data) { size_t i; - gfx_display_t *p_disp = disp_get_ptr(); - gfx_display_ctx_driver_t *dispctx= p_disp->dispctx; video_frame_info_t *video_info = (video_frame_info_t*)data; + gfx_display_t *p_disp = (gfx_display_t*)video_info->disp_userdata; + gfx_display_ctx_driver_t *dispctx= p_disp->dispctx; dispgfx_widget_t *p_dispwidget = (dispgfx_widget_t*)video_info->widgets_userdata; bool framecount_show = video_info->framecount_show; bool memory_show = video_info->memory_show; diff --git a/menu/drivers/ozone/ozone.c b/menu/drivers/ozone/ozone.c index d1798b704b..58796a8ce4 100644 --- a/menu/drivers/ozone/ozone.c +++ b/menu/drivers/ozone/ozone.c @@ -2897,7 +2897,7 @@ static void ozone_frame(void *data, video_frame_info_t *video_info) bool input_menu_swap_ok_cancel_buttons = video_info->input_menu_swap_ok_cancel_buttons; bool battery_level_enable = video_info->battery_level_enable; bool timedate_enable = video_info->timedate_enable; - gfx_display_t *p_disp = disp_get_ptr(); + gfx_display_t *p_disp = (gfx_display_t*)video_info->disp_userdata;; gfx_animation_t *p_anim = anim_get_ptr(); gfx_display_ctx_driver_t *dispctx = p_disp->dispctx; diff --git a/menu/drivers/xmb.c b/menu/drivers/xmb.c index 943d5387d1..7f98079556 100644 --- a/menu/drivers/xmb.c +++ b/menu/drivers/xmb.c @@ -4700,7 +4700,7 @@ static void xmb_frame(void *data, video_frame_info_t *video_info) bool libretro_running = video_info->libretro_running; unsigned menu_shader_pipeline = video_info->menu_shader_pipeline; float menu_wallpaper_opacity = video_info->menu_wallpaper_opacity; - gfx_display_t *p_disp = disp_get_ptr(); + gfx_display_t *p_disp = (gfx_display_t*)video_info->disp_userdata; gfx_animation_t *p_anim = anim_get_ptr(); gfx_display_ctx_driver_t *dispctx = p_disp->dispctx; bool input_dialog_display_kb = menu_input_dialog_get_display_kb(); diff --git a/retroarch.c b/retroarch.c index d1b7a3cc47..619dcccb45 100644 --- a/retroarch.c +++ b/retroarch.c @@ -31999,6 +31999,7 @@ void video_driver_build_info(video_frame_info_t *video_info) video_info->input_driver_nonblock_state = p_rarch->input_driver_nonblock_state; video_info->input_driver_grab_mouse_state = p_rarch->input_driver_grab_mouse_state; + video_info->disp_userdata = &p_rarch->dispgfx; video_info->userdata = VIDEO_DRIVER_GET_PTR_INTERNAL(p_rarch); diff --git a/retroarch.h b/retroarch.h index c338eb5938..4a594a7109 100644 --- a/retroarch.h +++ b/retroarch.h @@ -1116,6 +1116,7 @@ typedef struct video_frame_info { void *userdata; void *widgets_userdata; + void *disp_userdata; int custom_vp_x; int custom_vp_y;