diff --git a/gfx/common/x11_common.c b/gfx/common/x11_common.c index fd3ccdf0fc..6020024ffd 100644 --- a/gfx/common/x11_common.c +++ b/gfx/common/x11_common.c @@ -719,17 +719,16 @@ bool x11_connect(void) return true; } -void x11_update_window_title(void *data) +void x11_update_window_title(void *data, video_frame_info_t video_info) { char buf[128]; char buf_fps[128]; - settings_t *settings = config_get_ptr(); buf[0] = buf_fps[0] = '\0'; if (video_monitor_get_fps(buf, sizeof(buf), buf_fps, sizeof(buf_fps))) XStoreName(g_x11_dpy, g_x11_win, buf); - if (settings->fps_show) + if (video_info.fps_show) runloop_msg_queue_push(buf_fps, 1, 1, false); } diff --git a/gfx/common/x11_common.h b/gfx/common/x11_common.h index 0bfea3202f..691370ae72 100644 --- a/gfx/common/x11_common.h +++ b/gfx/common/x11_common.h @@ -82,7 +82,7 @@ bool x11_alive(void *data); bool x11_connect(void); -void x11_update_window_title(void *data); +void x11_update_window_title(void *data, video_frame_info_t video_info); bool x11_input_ctx_new(bool true_full); diff --git a/gfx/drivers/d3d.cpp b/gfx/drivers/d3d.cpp index d4aece5215..736899e249 100644 --- a/gfx/drivers/d3d.cpp +++ b/gfx/drivers/d3d.cpp @@ -1461,7 +1461,7 @@ static bool d3d_frame(void *data, const void *frame, } #endif - video_context_driver_update_window_title(); + video_context_driver_update_window_title(video_info); performance_counter_stop(&d3d_frame); diff --git a/gfx/drivers/gl.c b/gfx/drivers/gl.c index 4d1f15bb12..cf0240d5d5 100644 --- a/gfx/drivers/gl.c +++ b/gfx/drivers/gl.c @@ -1280,7 +1280,7 @@ static bool gl_frame(void *data, const void *frame, gl_render_overlay(gl); #endif - video_context_driver_update_window_title(); + video_context_driver_update_window_title(video_info); performance_counter_stop(&frame_run); diff --git a/gfx/drivers/vg.c b/gfx/drivers/vg.c index ec9b6c1e76..8c803aa8c1 100644 --- a/gfx/drivers/vg.c +++ b/gfx/drivers/vg.c @@ -125,7 +125,6 @@ static void *vg_init(const video_info_t *video, interval = video->vsync ? 1 : 0; video_context_driver_swap_interval(&interval); - video_context_driver_update_window_title(); vg->mTexType = video->rgb32 ? VG_sXRGB_8888 : VG_sRGB_565; vg->keep_aspect = video->force_aspect; @@ -425,7 +424,7 @@ static bool vg_frame(void *data, const void *frame, vg_draw_message(vg, msg); #endif - video_context_driver_update_window_title(); + video_context_driver_update_window_title(video_info); performance_counter_stop(&vg_fr); diff --git a/gfx/drivers/vulkan.c b/gfx/drivers/vulkan.c index 066740c540..fd9bf1f26e 100644 --- a/gfx/drivers/vulkan.c +++ b/gfx/drivers/vulkan.c @@ -1914,7 +1914,7 @@ static bool vulkan_frame(void *data, const void *frame, performance_counter_stop(&swapbuffers); if (!vk->context->swap_interval_emulation_lock) - video_context_driver_update_window_title(); + video_context_driver_update_window_title(video_info); /* Handle spurious swapchain invalidations as soon as we can, * i.e. right after swap buffers. */ diff --git a/gfx/drivers/xvideo.c b/gfx/drivers/xvideo.c index b645e866e2..0083a746a2 100644 --- a/gfx/drivers/xvideo.c +++ b/gfx/drivers/xvideo.c @@ -808,7 +808,7 @@ static bool xv_frame(void *data, const void *frame, unsigned width, true); XSync(g_x11_dpy, False); - x11_update_window_title(NULL); + x11_update_window_title(NULL, video_info); return true; } diff --git a/gfx/drivers_context/android_ctx.c b/gfx/drivers_context/android_ctx.c index 033e83f498..49e56af317 100644 --- a/gfx/drivers_context/android_ctx.c +++ b/gfx/drivers_context/android_ctx.c @@ -313,17 +313,16 @@ static bool android_gfx_ctx_set_resize(void *data, return false; } -static void android_gfx_ctx_update_window_title(void *data) +static void android_gfx_ctx_update_window_title(void *data, video_frame_info_t video_info) { char buf[128]; char buf_fps[128]; - settings_t *settings = config_get_ptr(); buf[0] = buf_fps[0] = '\0'; video_monitor_get_fps(buf, sizeof(buf), buf_fps, sizeof(buf_fps)); - if (settings->fps_show) + if (video_info.fps_show) runloop_msg_queue_push(buf_fps, 1, 1, false); } diff --git a/gfx/drivers_context/bbqnx_ctx.c b/gfx/drivers_context/bbqnx_ctx.c index b744483343..e6b97d2137 100644 --- a/gfx/drivers_context/bbqnx_ctx.c +++ b/gfx/drivers_context/bbqnx_ctx.c @@ -292,17 +292,16 @@ static bool gfx_ctx_qnx_set_resize(void *data, return false; } -static void gfx_ctx_qnx_update_window_title(void *data) +static void gfx_ctx_qnx_update_window_title(void *data, video_frame_info_t video_info) { - char buf[128] = {0}; - char buf_fps[128] = {0}; - settings_t *settings = config_get_ptr(); + char buf[128]; + char buf_fps[128]; - (void)data; + buf[0] = buf_fps[0] = '\0'; video_monitor_get_fps(buf, sizeof(buf), buf_fps, sizeof(buf_fps)); - if (settings->fps_show) + if (video_info.fps_show) runloop_msg_queue_push(buf_fps, 1, 1, false); } diff --git a/gfx/drivers_context/cgl_ctx.c b/gfx/drivers_context/cgl_ctx.c index 561ae87070..e326ccfffa 100644 --- a/gfx/drivers_context/cgl_ctx.c +++ b/gfx/drivers_context/cgl_ctx.c @@ -112,18 +112,16 @@ static bool gfx_ctx_cgl_set_resize(void *data, unsigned width, unsigned height) return false; } -static void gfx_ctx_cgl_update_window_title(void *data) +static void gfx_ctx_cgl_update_window_title(void *data, video_frame_info_t video_info) { char buf[128]; char buf_fps[128]; - settings_t *settings = config_get_ptr(); buf[0] = buf_fps[0] = '\0'; - (void)data; video_monitor_get_fps(buf, sizeof(buf), buf_fps, sizeof(buf_fps)); - if (settings->fps_show) + if (video_info.fps_show) runloop_msg_queue_push(buf_fps, 1, 1, false); } diff --git a/gfx/drivers_context/cocoa_gl_ctx.m b/gfx/drivers_context/cocoa_gl_ctx.m index d211fdff86..787a1c210d 100644 --- a/gfx/drivers_context/cocoa_gl_ctx.m +++ b/gfx/drivers_context/cocoa_gl_ctx.m @@ -415,7 +415,7 @@ static void cocoagl_gfx_ctx_get_video_size(void *data, unsigned* width, unsigned *height = CGRectGetHeight(size) * screenscale; } -static void cocoagl_gfx_ctx_update_window_title(void *data) +static void cocoagl_gfx_ctx_update_window_title(void *data, video_frame_info_t video_info) { #if defined(HAVE_COCOA) ui_window_cocoa_t view; @@ -423,7 +423,6 @@ static void cocoagl_gfx_ctx_update_window_title(void *data) #endif static char buf_fps[128] = {0}; static char buf[128] = {0}; - settings_t *settings = config_get_ptr(); video_monitor_get_fps(buf, sizeof(buf), buf_fps, sizeof(buf_fps)); @@ -435,7 +434,7 @@ static void cocoagl_gfx_ctx_update_window_title(void *data) if (window && *buf) window->set_title(&view, buf); #endif - if (settings->fps_show) + if (video_info.fps_show) runloop_msg_queue_push(buf_fps, 1, 1, false); } diff --git a/gfx/drivers_context/d3d_ctx.cpp b/gfx/drivers_context/d3d_ctx.cpp index bbd2ca6bdb..734597337d 100644 --- a/gfx/drivers_context/d3d_ctx.cpp +++ b/gfx/drivers_context/d3d_ctx.cpp @@ -85,11 +85,10 @@ static void gfx_ctx_d3d_swap_buffers(void *data) d3d_swap(d3d, d3dr); } -static void gfx_ctx_d3d_update_title(void *data) +static void gfx_ctx_d3d_update_title(void *data, video_frame_info_t video_info) { char buf[128]; char buffer_fps[128]; - settings_t *settings = config_get_ptr(); const ui_window_t *window = ui_companion_driver_get_window_ptr(); buf[0] = buffer_fps[0] = '\0'; @@ -102,7 +101,7 @@ static void gfx_ctx_d3d_update_title(void *data) #endif } - if (settings->fps_show) + if (video_info.fps_show) { #ifdef _XBOX MEMORYSTATUS stat; diff --git a/gfx/drivers_context/drm_ctx.c b/gfx/drivers_context/drm_ctx.c index 9aa871f073..1559d8e533 100644 --- a/gfx/drivers_context/drm_ctx.c +++ b/gfx/drivers_context/drm_ctx.c @@ -272,18 +272,17 @@ static bool gfx_ctx_drm_set_resize(void *data, return false; } -static void gfx_ctx_drm_update_window_title(void *data) +static void gfx_ctx_drm_update_window_title(void *data, video_frame_info_t video_info) { char buf[128]; char buf_fps[128]; - settings_t *settings = config_get_ptr(); buf[0] = buf_fps[0] = '\0'; video_monitor_get_fps(buf, sizeof(buf), buf_fps, sizeof(buf_fps)); - if (settings->fps_show) + if (video_info.fps_show) runloop_msg_queue_push( buf_fps, 1, 1, false); } diff --git a/gfx/drivers_context/emscriptenegl_ctx.c b/gfx/drivers_context/emscriptenegl_ctx.c index 0deaf18f4d..566cdbd284 100644 --- a/gfx/drivers_context/emscriptenegl_ctx.c +++ b/gfx/drivers_context/emscriptenegl_ctx.c @@ -95,17 +95,16 @@ static bool gfx_ctx_emscripten_set_resize(void *data, return false; } -static void gfx_ctx_emscripten_update_window_title(void *data) +static void gfx_ctx_emscripten_update_window_title(void *data, video_frame_info_t video_info) { - char buf[128] = {0}; - char buf_fps[128] = {0}; - settings_t *settings = config_get_ptr(); + char buf[128]; + char buf_fps[128]; - (void)data; + buf[0] = buf_fps[0] = '\0'; video_monitor_get_fps(buf, sizeof(buf), buf_fps, sizeof(buf_fps)); - if (settings->fps_show) + if (video_info.fps_show) runloop_msg_queue_push(buf_fps, 1, 1, false); } diff --git a/gfx/drivers_context/gfx_null_ctx.c b/gfx/drivers_context/gfx_null_ctx.c index d60b297521..37061bd3a6 100644 --- a/gfx/drivers_context/gfx_null_ctx.c +++ b/gfx/drivers_context/gfx_null_ctx.c @@ -48,9 +48,10 @@ static bool gfx_ctx_null_set_resize(void *data, unsigned width, unsigned height) return false; } -static void gfx_ctx_null_update_window_title(void *data) +static void gfx_ctx_null_update_window_title(void *data, video_frame_info_t video_info) { (void)data; + (void)video_info; } static void gfx_ctx_null_get_video_size(void *data, unsigned *width, unsigned *height) diff --git a/gfx/drivers_context/khr_display_ctx.c b/gfx/drivers_context/khr_display_ctx.c index f1fb5a6186..3c874bcbad 100644 --- a/gfx/drivers_context/khr_display_ctx.c +++ b/gfx/drivers_context/khr_display_ctx.c @@ -111,19 +111,16 @@ static bool gfx_ctx_khr_display_set_resize(void *data, return false; } -static void gfx_ctx_khr_display_update_window_title(void *data) +static void gfx_ctx_khr_display_update_window_title(void *data, video_frame_info_t video_info) { char buf[128]; char buf_fps[128]; - settings_t *settings = config_get_ptr(); buf[0] = buf_fps[0] = '\0'; - (void)data; - video_monitor_get_fps(buf, sizeof(buf), buf_fps, sizeof(buf_fps)); - if (settings->fps_show) + if (video_info.fps_show) runloop_msg_queue_push(buf_fps, 1, 1, false); } diff --git a/gfx/drivers_context/mali_fbdev_ctx.c b/gfx/drivers_context/mali_fbdev_ctx.c index 8670f1147c..974b8f89a6 100644 --- a/gfx/drivers_context/mali_fbdev_ctx.c +++ b/gfx/drivers_context/mali_fbdev_ctx.c @@ -159,17 +159,16 @@ static bool gfx_ctx_mali_fbdev_set_resize(void *data, return false; } -static void gfx_ctx_mali_fbdev_update_window_title(void *data) +static void gfx_ctx_mali_fbdev_update_window_title(void *data, video_frame_info_t video_info) { char buf[128]; char buf_fps[128]; - settings_t *settings = config_get_ptr(); buf[0] = buf_fps[0] = '\0'; video_monitor_get_fps(buf, sizeof(buf), buf_fps, sizeof(buf_fps)); - if (settings->fps_show) + if (video_info.fps_show) runloop_msg_queue_push(buf_fps, 1, 1, false); } diff --git a/gfx/drivers_context/opendingux_fbdev_ctx.c b/gfx/drivers_context/opendingux_fbdev_ctx.c index 1a7c742ddf..5bfa3008cf 100644 --- a/gfx/drivers_context/opendingux_fbdev_ctx.c +++ b/gfx/drivers_context/opendingux_fbdev_ctx.c @@ -142,17 +142,16 @@ static bool gfx_ctx_opendingux_set_resize(void *data, return false; } -static void gfx_ctx_opendingux_update_window_title(void *data) +static void gfx_ctx_opendingux_update_window_title(void *data, video_frame_info_t video_info) { char buf[128]; char buf_fps[128]; - settings_t *settings = config_get_ptr(); buf[0] = buf_fps[0] = '\0'; video_monitor_get_fps(buf, sizeof(buf), buf_fps, sizeof(buf_fps)); - if (settings->fps_show) + if (video_info.fps_show) runloop_msg_queue_push(buf_fps, 1, 1, false); } diff --git a/gfx/drivers_context/osmesa_ctx.c b/gfx/drivers_context/osmesa_ctx.c index c660fcde04..41bab2da4f 100644 --- a/gfx/drivers_context/osmesa_ctx.c +++ b/gfx/drivers_context/osmesa_ctx.c @@ -307,11 +307,10 @@ static void osmesa_ctx_get_video_size(void *data, *height = osmesa->height; } -static void osmesa_ctx_update_window_title(void *data) +static void osmesa_ctx_update_window_title(void *data, video_frame_info_t video_info) { static char buf[128] = {0}; static char buf_fps[128] = {0}; - settings_t *settings = config_get_ptr(); gfx_ctx_osmesa_data_t *osmesa = (gfx_ctx_osmesa_data_t*)data; if (!osmesa) @@ -319,7 +318,7 @@ static void osmesa_ctx_update_window_title(void *data) video_monitor_get_fps(buf, sizeof(buf), buf_fps, sizeof(buf_fps)); - if (settings->fps_show) + if (video_info.fps_show) runloop_msg_queue_push(buf_fps, 1, 1, false); } diff --git a/gfx/drivers_context/ps3_ctx.c b/gfx/drivers_context/ps3_ctx.c index e3494a23f5..e882ccc8e7 100644 --- a/gfx/drivers_context/ps3_ctx.c +++ b/gfx/drivers_context/ps3_ctx.c @@ -198,11 +198,10 @@ static bool gfx_ctx_ps3_set_resize(void *data, return false; } -static void gfx_ctx_ps3_update_window_title(void *data) +static void gfx_ctx_ps3_update_window_title(void *data, video_frame_info_t video_info) { char buf[128]; char buf_fps[128]; - settings_t *settings = config_get_ptr(); buf[0] = buf_fps[0] = '\0'; @@ -210,7 +209,7 @@ static void gfx_ctx_ps3_update_window_title(void *data) video_monitor_get_fps(buf, sizeof(buf), buf_fps, sizeof(buf_fps)); - if (settings->fps_show) + if (video_info.fps_show) runloop_msg_queue_push(buf_fps, 1, 1, false); } diff --git a/gfx/drivers_context/sdl_gl_ctx.c b/gfx/drivers_context/sdl_gl_ctx.c index 6bbf680b1e..c4e08a01e4 100644 --- a/gfx/drivers_context/sdl_gl_ctx.c +++ b/gfx/drivers_context/sdl_gl_ctx.c @@ -165,8 +165,8 @@ static void sdl_ctx_swap_interval(void *data, unsigned interval) static bool sdl_ctx_set_video_mode(void *data, unsigned width, unsigned height, bool fullscreen) { - unsigned fsflag = 0; - settings_t *settings = config_get_ptr(); + unsigned fsflag = 0; + settings_t *settings = config_get_ptr(); gfx_ctx_sdl_data_t *sdl = (gfx_ctx_sdl_data_t*)data; sdl->g_new_width = width; @@ -267,15 +267,10 @@ static void sdl_ctx_get_video_size(void *data, } } -static void sdl_ctx_update_window_title(void *data) +static void sdl_ctx_update_window_title(void *data, video_frame_info_t video_info) { char buf[128]; char buf_fps[128]; - settings_t *settings = config_get_ptr(); - gfx_ctx_sdl_data_t *sdl = (gfx_ctx_sdl_data_t*)data; - - if (!sdl) - return; buf[0] = buf_fps[0] = '\0'; @@ -283,12 +278,15 @@ static void sdl_ctx_update_window_title(void *data) buf_fps, sizeof(buf_fps))) { #ifdef HAVE_SDL2 - SDL_SetWindowTitle(sdl->g_win, buf); + gfx_ctx_sdl_data_t *sdl = (gfx_ctx_sdl_data_t*)data; + if (sdl) + SDL_SetWindowTitle(sdl->g_win, buf); #else SDL_WM_SetCaption(buf, NULL); #endif } - if (settings->fps_show) + + if (video_info.fps_show) runloop_msg_queue_push(buf_fps, 1, 1, false); } diff --git a/gfx/drivers_context/vc_egl_ctx.c b/gfx/drivers_context/vc_egl_ctx.c index 0e48383b02..25b1f13a26 100644 --- a/gfx/drivers_context/vc_egl_ctx.c +++ b/gfx/drivers_context/vc_egl_ctx.c @@ -105,17 +105,16 @@ static bool gfx_ctx_vc_set_resize(void *data, unsigned width, unsigned height) return false; } -static void gfx_ctx_vc_update_window_title(void *data) +static void gfx_ctx_vc_update_window_title(void *data, video_frame_info_t video_info) { - char buf[128] = {0}; - char buf_fps[128] = {0}; - settings_t *settings = config_get_ptr(); + char buf[128]; + char buf_fps[128]; - (void)data; + buf[0] = buf_fps[0] = '\0'; video_monitor_get_fps(buf, sizeof(buf), buf_fps, sizeof(buf_fps)); - if (settings->fps_show) + if (video_info.fps_show) runloop_msg_queue_push(buf_fps, 1, 1, false); } diff --git a/gfx/drivers_context/vivante_fbdev_ctx.c b/gfx/drivers_context/vivante_fbdev_ctx.c index cac00f389b..18302d4bf0 100644 --- a/gfx/drivers_context/vivante_fbdev_ctx.c +++ b/gfx/drivers_context/vivante_fbdev_ctx.c @@ -146,17 +146,16 @@ static bool gfx_ctx_vivante_set_resize(void *data, return false; } -static void gfx_ctx_vivante_update_window_title(void *data) +static void gfx_ctx_vivante_update_window_title(void *data, video_frame_info_t video_info) { - char buf[128] = {0}; - char buf_fps[128] = {0}; - settings_t *settings = config_get_ptr(); + char buf[128]; + char buf_fps[128]; - (void)data; + buf[0] = buf_fps[0] = '\0'; video_monitor_get_fps(buf, sizeof(buf), buf_fps, sizeof(buf_fps)); - if (settings->fps_show) + if (video_info.fps_show) runloop_msg_queue_push(buf_fps, 1, 1, false); } diff --git a/gfx/drivers_context/wayland_ctx.c b/gfx/drivers_context/wayland_ctx.c index d12e2ebc6f..6cec614f0f 100644 --- a/gfx/drivers_context/wayland_ctx.c +++ b/gfx/drivers_context/wayland_ctx.c @@ -720,11 +720,10 @@ static bool gfx_ctx_wl_set_resize(void *data, unsigned width, unsigned height) return true; } -static void gfx_ctx_wl_update_window_title(void *data) +static void gfx_ctx_wl_update_window_title(void *data, video_frame_info_t video_info) { char buf[128]; char buf_fps[128]; - settings_t *settings = config_get_ptr(); gfx_ctx_wayland_data_t *wl = (gfx_ctx_wayland_data_t*)data; buf[0] = buf_fps[0] = '\0'; @@ -733,7 +732,7 @@ static void gfx_ctx_wl_update_window_title(void *data) buf_fps, sizeof(buf_fps))) wl_shell_surface_set_title(wl->shell_surf, buf); - if (settings->fps_show) + if (video_info.fps_show) runloop_msg_queue_push(buf_fps, 1, 1, false); } diff --git a/gfx/drivers_context/wgl_ctx.cpp b/gfx/drivers_context/wgl_ctx.cpp index 90ac60eceb..9467189c20 100644 --- a/gfx/drivers_context/wgl_ctx.cpp +++ b/gfx/drivers_context/wgl_ctx.cpp @@ -386,11 +386,10 @@ static bool gfx_ctx_wgl_set_resize(void *data, return false; } -static void gfx_ctx_wgl_update_window_title(void *data) +static void gfx_ctx_wgl_update_window_title(void *data, video_frame_info_t video_info) { char buf[128]; char buf_fps[128]; - settings_t *settings = config_get_ptr(); const ui_window_t *window = ui_companion_driver_get_window_ptr(); buf[0] = buf_fps[0] = '\0'; @@ -398,7 +397,7 @@ static void gfx_ctx_wgl_update_window_title(void *data) if (window && video_monitor_get_fps(buf, sizeof(buf), buf_fps, sizeof(buf_fps))) window->set_title(&main_window, buf); - if (settings->fps_show) + if (video_info.fps_show) runloop_msg_queue_push(buf_fps, 1, 1, false); } diff --git a/gfx/drivers_context/x_ctx.c b/gfx/drivers_context/x_ctx.c index cc1f9b2902..b18f865f64 100644 --- a/gfx/drivers_context/x_ctx.c +++ b/gfx/drivers_context/x_ctx.c @@ -452,6 +452,7 @@ static bool gfx_ctx_x_set_video_mode(void *data, bool fullscreen) { XEvent event; + video_frame_info_t video_info; bool true_full = false; bool windowed_full = false; int val = 0; @@ -563,8 +564,15 @@ static bool gfx_ctx_x_set_video_mode(void *data, break; } + video_info.refresh_rate = settings->video.refresh_rate; + video_info.black_frame_insertion = + settings->video.black_frame_insertion; + video_info.hard_sync = settings->video.hard_sync; + video_info.hard_sync_frames = settings->video.hard_sync_frames; + video_info.fps_show = settings->fps_show; + x11_set_window_attr(g_x11_dpy, g_x11_win); - x11_update_window_title(NULL); + x11_update_window_title(NULL, video_info); if (fullscreen) x11_show_mouse(g_x11_dpy, g_x11_win, false); diff --git a/gfx/drivers_context/xegl_ctx.c b/gfx/drivers_context/xegl_ctx.c index bb5466620e..025f51fb43 100644 --- a/gfx/drivers_context/xegl_ctx.c +++ b/gfx/drivers_context/xegl_ctx.c @@ -264,6 +264,7 @@ static bool gfx_ctx_xegl_set_video_mode(void *data, XEvent event; EGLint egl_attribs[16]; EGLint vid, num_visuals; + video_frame_info_t video_info; EGLint *attr = NULL; bool windowed_full = false; bool true_full = false; @@ -355,8 +356,15 @@ static bool gfx_ctx_xegl_set_video_mode(void *data, if (!egl_create_surface(&xegl->egl, (void*)g_x11_win)) goto error; + video_info.refresh_rate = settings->video.refresh_rate; + video_info.black_frame_insertion = + settings->video.black_frame_insertion; + video_info.hard_sync = settings->video.hard_sync; + video_info.hard_sync_frames = settings->video.hard_sync_frames; + video_info.fps_show = settings->fps_show; + x11_set_window_attr(g_x11_dpy, g_x11_win); - x11_update_window_title(NULL); + x11_update_window_title(NULL, video_info); if (fullscreen) x11_show_mouse(g_x11_dpy, g_x11_win, false); diff --git a/gfx/video_context_driver.h b/gfx/video_context_driver.h index d339e0552c..41e2d6b148 100644 --- a/gfx/video_context_driver.h +++ b/gfx/video_context_driver.h @@ -100,7 +100,7 @@ typedef struct gfx_ctx_driver float (*translate_aspect)(void*, unsigned, unsigned); /* Asks driver to update window title (FPS, etc). */ - void (*update_window_title)(void*); + void (*update_window_title)(void*, video_frame_info_t video_info); /* Queries for resize and quit events. * Also processes events. */ @@ -290,9 +290,9 @@ bool video_context_driver_set(const gfx_ctx_driver_t *data); void video_context_driver_destroy(void); -#define video_context_driver_update_window_title() \ +#define video_context_driver_update_window_title(video_info) \ if (current_video_context && current_video_context->update_window_title) \ - current_video_context->update_window_title(video_context_data) + current_video_context->update_window_title(video_context_data, video_info) #define video_context_driver_swap_buffers() \ if (current_video_context && current_video_context->swap_buffers) \