mirror of
https://github.com/libretro/RetroArch
synced 2025-01-30 03:32:46 +00:00
This fixes the XMB menu for me
When using threaded video and shared context Threaded video gets disabled for GL contexts, so you can't rely on the settings value
This commit is contained in:
parent
7d08244204
commit
017d9cea9d
@ -163,7 +163,7 @@ static void *gl_raster_font_init_font(void *data,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (settings->video.threaded)
|
||||
if (video_driver_is_threaded())
|
||||
video_context_driver_make_current(false);
|
||||
|
||||
glGenTextures(1, &font->tex);
|
||||
@ -203,7 +203,7 @@ static void gl_raster_font_free_font(void *data)
|
||||
if (font->font_driver && font->font_data)
|
||||
font->font_driver->free(font->font_data);
|
||||
|
||||
if (settings->video.threaded)
|
||||
if (video_driver_is_threaded())
|
||||
video_context_driver_make_current(true);
|
||||
|
||||
glDeleteTextures(1, &font->tex);
|
||||
|
@ -372,7 +372,7 @@ font_data_t *font_driver_init_first(
|
||||
settings_t *settings = config_get_ptr();
|
||||
|
||||
if (threading_hint
|
||||
&& settings->video.threaded
|
||||
&& video_driver_is_threaded()
|
||||
&& !video_driver_is_hw_context())
|
||||
ok = video_thread_font_init(&font_driver, &font_handle,
|
||||
video_data, font_path, font_size, api, font_init_first);
|
||||
|
@ -297,7 +297,7 @@ static bool hw_render_context_is_gl(enum retro_hw_context_type type)
|
||||
return false;
|
||||
}
|
||||
|
||||
static bool video_driver_is_threaded(void)
|
||||
bool video_driver_is_threaded(void)
|
||||
{
|
||||
#ifdef HAVE_THREADS
|
||||
settings_t *settings = config_get_ptr();
|
||||
@ -497,7 +497,7 @@ static void video_monitor_compute_fps_statistics(void)
|
||||
unsigned samples = 0;
|
||||
settings_t *settings = config_get_ptr();
|
||||
|
||||
if (settings->video.threaded)
|
||||
if (video_driver_is_threaded())
|
||||
{
|
||||
RARCH_LOG("Monitor FPS estimation is disabled for threaded video.\n");
|
||||
return;
|
||||
@ -982,7 +982,7 @@ bool video_monitor_fps_statistics(double *refresh_rate,
|
||||
unsigned samples = MIN(MEASURE_FRAME_TIME_SAMPLES_COUNT,
|
||||
video_driver_frame_time_count);
|
||||
|
||||
if (settings->video.threaded || (samples < 2))
|
||||
if (video_driver_is_threaded() || (samples < 2))
|
||||
return false;
|
||||
|
||||
/* Measure statistics on frame time (microsecs), *not* FPS. */
|
||||
|
@ -285,6 +285,7 @@ bool video_driver_get_hw_render_interface(const struct
|
||||
bool video_driver_get_viewport_info(struct video_viewport *viewport);
|
||||
void video_driver_set_title_buf(void);
|
||||
void video_driver_monitor_adjust_system_rates(void);
|
||||
bool video_driver_is_threaded(void);
|
||||
|
||||
/**
|
||||
* video_driver_find_handle:
|
||||
|
@ -102,7 +102,7 @@ static const char *menu_video_get_ident(void)
|
||||
#ifdef HAVE_THREADS
|
||||
settings_t *settings = config_get_ptr();
|
||||
|
||||
if (settings->video.threaded)
|
||||
if (video_driver_is_threaded())
|
||||
return video_thread_get_ident();
|
||||
#endif
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user