diff --git a/gfx/drivers_shader/shader_null.c b/gfx/drivers_shader/shader_null.c index 39946fffd6..26674e921b 100644 --- a/gfx/drivers_shader/shader_null.c +++ b/gfx/drivers_shader/shader_null.c @@ -54,7 +54,7 @@ static bool shader_null_set_mvp(void *data, const math_matrix_4x4 *mat) { #ifdef HAVE_OPENGL #ifndef NO_GL_FF_MATRIX - gl_t *gl = (gl_t*)video_driver_get_ptr(); + gl_t *gl = (gl_t*)video_driver_get_ptr(false); if (gl) { gl_ff_matrix(mat); @@ -68,7 +68,7 @@ static bool shader_null_set_coords(const void *data) { #ifdef HAVE_OPENGL #ifndef NO_GL_FF_VERTEX - gl_t *gl = (gl_t*)video_driver_get_ptr(); + gl_t *gl = (gl_t*)video_driver_get_ptr(false); if (gl) { const struct gfx_coords *coords = (const struct gfx_coords*)data; diff --git a/gfx/video_driver.c b/gfx/video_driver.c index a6b417b119..f3f3f1a836 100644 --- a/gfx/video_driver.c +++ b/gfx/video_driver.c @@ -265,7 +265,7 @@ video_pixel_scaler_t *scaler_get_ptr(void) * * Returns: video driver's userdata. **/ -void *video_driver_get_ptr(void) +void *video_driver_get_ptr(bool force_nonthreaded_data) { driver_t *driver = driver_get_ptr(); @@ -273,7 +273,7 @@ void *video_driver_get_ptr(void) settings_t *settings = config_get_ptr(); if (settings->video.threaded - && !video_state.hw_render_callback.context_type) + && !video_state.hw_render_callback.context_type && !force_nonthreaded_data) return rarch_threaded_video_get_ptr(NULL); #endif diff --git a/gfx/video_driver.h b/gfx/video_driver.h index 27ef3df810..087679349a 100644 --- a/gfx/video_driver.h +++ b/gfx/video_driver.h @@ -355,7 +355,7 @@ const char* config_get_video_driver_options(void); * * Returns: video driver's userdata. **/ -void *video_driver_get_ptr(void); +void *video_driver_get_ptr(bool force_nonthreaded_data); /** * video_driver_get_current_framebuffer: diff --git a/input/input_overlay.c b/input/input_overlay.c index 24668083b4..b2c5581f04 100644 --- a/input/input_overlay.c +++ b/input/input_overlay.c @@ -1051,7 +1051,7 @@ input_overlay_t *input_overlay_new(const char *path, bool enable, goto error; } - ol->iface_data = video_driver_get_ptr(); + ol->iface_data = video_driver_get_ptr(true); if (!ol->iface) goto error; diff --git a/menu/drivers/rmenu_xui.cpp b/menu/drivers/rmenu_xui.cpp index aff7ae9517..c31f7cb9fb 100644 --- a/menu/drivers/rmenu_xui.cpp +++ b/menu/drivers/rmenu_xui.cpp @@ -281,7 +281,7 @@ static void* rmenu_xui_init(void) if (!menu) return NULL; - d3d = (d3d_video_t*)video_driver_get_ptr(NULL); + d3d = (d3d_video_t*)video_driver_get_ptr(false); if (d3d->resolution_hd_enable) RARCH_LOG("HD menus enabled.\n"); @@ -369,7 +369,7 @@ static void xui_render_message(const char *msg) size_t j = 0; struct string_list *list = NULL; driver_t *driver = driver_get_ptr(); - d3d_video_t *d3d = (d3d_video_t*)video_driver_get_ptr(NULL); + d3d_video_t *d3d = (d3d_video_t*)video_driver_get_ptr(false); if (!d3d) return; @@ -416,7 +416,7 @@ static void rmenu_xui_frame(void) if (!menu) return; - d3d = (d3d_video_t*)video_driver_get_ptr(NULL); + d3d = (d3d_video_t*)video_driver_get_ptr(false); if (!d3d) return; diff --git a/menu/drivers_display/menu_display_gl.c b/menu/drivers_display/menu_display_gl.c index 4e9e3a0f51..90de5d33a3 100644 --- a/menu/drivers_display/menu_display_gl.c +++ b/menu/drivers_display/menu_display_gl.c @@ -40,7 +40,7 @@ static const GLfloat gl_tex_coords[] = { static gl_t *gl_get_ptr(void) { - gl_t *gl = (gl_t*)video_driver_get_ptr(); + gl_t *gl = (gl_t*)video_driver_get_ptr(false); if (!gl) return NULL; return gl; diff --git a/menu/menu_display.c b/menu/menu_display.c index ce1c85e725..6aed5df4e3 100644 --- a/menu/menu_display.c +++ b/menu/menu_display.c @@ -239,7 +239,7 @@ bool menu_display_init_main_font(void *data, { bool ret; driver_t *driver = driver_get_ptr(); - void *video = video_driver_get_ptr(); + void *video = video_driver_get_ptr(false); menu_display_t *disp = menu_display_get_ptr(); if (!disp)