mirror of
https://github.com/CTCaer/RetroArch.git
synced 2025-02-01 17:23:48 +00:00
Don't grab settings pointer in video_monitor_get_fps function
This commit is contained in:
parent
35fefb1c09
commit
36fb6776b2
@ -726,7 +726,8 @@ void x11_update_window_title(void *data, video_frame_info_t video_info)
|
||||
|
||||
buf[0] = buf_fps[0] = '\0';
|
||||
|
||||
if (video_monitor_get_fps(buf, sizeof(buf), buf_fps, sizeof(buf_fps)))
|
||||
if (video_monitor_get_fps(video_info,
|
||||
buf, sizeof(buf), buf_fps, sizeof(buf_fps)))
|
||||
XStoreName(g_x11_dpy, g_x11_win, buf);
|
||||
if (video_info.fps_show)
|
||||
runloop_msg_queue_push(buf_fps, 1, 1, false);
|
||||
|
@ -782,7 +782,9 @@ static bool drm_gfx_frame(void *data, const void *frame, unsigned width,
|
||||
if (_drmvars->menu_active)
|
||||
{
|
||||
char buf[128];
|
||||
video_monitor_get_fps(buf, sizeof(buf), NULL, 0);
|
||||
buf[0] = '\0';
|
||||
|
||||
video_monitor_get_fps(video_info, buf, sizeof(buf), NULL, 0);
|
||||
}
|
||||
|
||||
/* Update main surface: locate free page, blit and flip. */
|
||||
|
@ -1311,7 +1311,7 @@ static bool exynos_gfx_frame(void *data, const void *frame, unsigned width,
|
||||
|
||||
buffer[0] = buffer_fps[0] = '\0';
|
||||
|
||||
video_monitor_get_fps(buffer, sizeof(buffer),
|
||||
video_monitor_get_fps(video_info, buffer, sizeof(buffer),
|
||||
video_info.fps_show ? buffer_fps : NULL, sizeof(buffer_fps));
|
||||
runloop_msg_queue_push(buffer_fps, 1, 1, false);
|
||||
}
|
||||
|
@ -1537,7 +1537,7 @@ static bool gx_frame(void *data, const void *frame,
|
||||
|
||||
GX_DrawDone();
|
||||
|
||||
video_monitor_get_fps(fps_txt, sizeof(fps_txt),
|
||||
video_monitor_get_fps(video_info, fps_txt, sizeof(fps_txt),
|
||||
fps_text_buf, sizeof(fps_text_buf));
|
||||
|
||||
if (video_info.fps_show)
|
||||
|
@ -494,7 +494,7 @@ static bool psp_frame(void *data, const void *frame,
|
||||
|
||||
pspDebugScreenSetXY(0,0);
|
||||
|
||||
video_monitor_get_fps(fps_txt, sizeof(fps_txt),
|
||||
video_monitor_get_fps(video_info, fps_txt, sizeof(fps_txt),
|
||||
video_info.fps_show ? fps_text_buf : NULL,
|
||||
video_info.fps_show ? sizeof(fps_text_buf) : 0);
|
||||
|
||||
|
@ -536,7 +536,7 @@ static bool sdl2_gfx_frame(void *data, const void *frame, unsigned width,
|
||||
|
||||
SDL_RenderPresent(vid->renderer);
|
||||
|
||||
if (video_monitor_get_fps(buf, sizeof(buf), NULL, 0))
|
||||
if (video_monitor_get_fps(video_info, buf, sizeof(buf), NULL, 0))
|
||||
SDL_SetWindowTitle(vid->window, buf);
|
||||
|
||||
return true;
|
||||
|
@ -369,7 +369,7 @@ static bool sdl_gfx_frame(void *data, const void *frame, unsigned width,
|
||||
if (SDL_MUSTLOCK(vid->screen))
|
||||
SDL_UnlockSurface(vid->screen);
|
||||
|
||||
if (video_monitor_get_fps(buf, sizeof(buf), NULL, 0))
|
||||
if (video_monitor_get_fps(video_info, buf, sizeof(buf), NULL, 0))
|
||||
SDL_WM_SetCaption(buf, NULL);
|
||||
|
||||
SDL_Flip(vid->screen);
|
||||
|
@ -781,9 +781,11 @@ static bool sunxi_gfx_frame(void *data, const void *frame, unsigned width,
|
||||
|
||||
if (_dispvars->menu_active)
|
||||
{
|
||||
char buf[128] = {0};
|
||||
char buf[128];
|
||||
|
||||
video_monitor_get_fps(buf, sizeof(buf), NULL, 0);
|
||||
buf[0] = '\0';
|
||||
|
||||
video_monitor_get_fps(video_info, buf, sizeof(buf), NULL, 0);
|
||||
ioctl(_dispvars->sunxi_disp->fd_fb, FBIO_WAITFORVSYNC, 0);
|
||||
return true;
|
||||
}
|
||||
|
@ -209,7 +209,7 @@ static bool vita2d_gfx_frame(void *data, const void *frame,
|
||||
|
||||
buffer[0] = buffer_fps[0] = '\0';
|
||||
|
||||
video_monitor_get_fps(buffer, sizeof(buffer),
|
||||
video_monitor_get_fps(video_info, buffer, sizeof(buffer),
|
||||
video_info.fps_show ? buffer_fps : NULL, sizeof(buffer_fps));
|
||||
runloop_msg_queue_push(buffer_fps, 1, 1, false);
|
||||
}
|
||||
|
@ -14,7 +14,7 @@
|
||||
* If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#define _XOPEN_SOURCE 700 // TODO: this doesn't really belong here.
|
||||
#define _XOPEN_SOURCE 700 /* TODO: this doesn't really belong here. */
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
@ -412,6 +412,7 @@ static void *xv_init(const video_info_t *video,
|
||||
{
|
||||
unsigned i;
|
||||
XWindowAttributes target;
|
||||
video_frame_info_t video_info;
|
||||
char buf[128] = {0};
|
||||
XSetWindowAttributes attributes = {0};
|
||||
XVisualInfo visualtemplate = {0};
|
||||
@ -527,7 +528,17 @@ static void *xv_init(const video_info_t *video,
|
||||
|
||||
XMapWindow(g_x11_dpy, g_x11_win);
|
||||
|
||||
if (video_monitor_get_fps(buf, sizeof(buf), NULL, 0))
|
||||
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;
|
||||
video_info.scale_integer = settings->video.scale_integer;
|
||||
video_info.aspect_ratio_idx = settings->video.aspect_ratio_idx;
|
||||
video_info.max_swapchain_images = settings->video.max_swapchain_images;
|
||||
|
||||
if (video_monitor_get_fps(video_info, buf, sizeof(buf), NULL, 0))
|
||||
XStoreName(g_x11_dpy, g_x11_win, buf);
|
||||
|
||||
x11_set_window_attr(g_x11_dpy, g_x11_win);
|
||||
|
@ -319,7 +319,7 @@ static void android_gfx_ctx_update_window_title(void *data, video_frame_info_t v
|
||||
|
||||
buf[0] = buf_fps[0] = '\0';
|
||||
|
||||
video_monitor_get_fps(buf, sizeof(buf),
|
||||
video_monitor_get_fps(video_info, buf, sizeof(buf),
|
||||
buf_fps, sizeof(buf_fps));
|
||||
if (video_info.fps_show)
|
||||
runloop_msg_queue_push(buf_fps, 1, 1, false);
|
||||
|
@ -117,7 +117,7 @@ static void gfx_ctx_cgl_update_window_title(void *data, video_frame_info_t video
|
||||
|
||||
buf[0] = buf_fps[0] = '\0';
|
||||
|
||||
video_monitor_get_fps(buf, sizeof(buf),
|
||||
video_monitor_get_fps(video_info, buf, sizeof(buf),
|
||||
buf_fps, sizeof(buf_fps));
|
||||
if (video_info.fps_show)
|
||||
runloop_msg_queue_push(buf_fps, 1, 1, false);
|
||||
|
@ -92,7 +92,7 @@ static void gfx_ctx_d3d_update_title(void *data, video_frame_info_t video_info)
|
||||
|
||||
buf[0] = buffer_fps[0] = '\0';
|
||||
|
||||
if (window && video_monitor_get_fps(buf, sizeof(buf),
|
||||
if (window && video_monitor_get_fps(video_info, buf, sizeof(buf),
|
||||
buffer_fps, sizeof(buffer_fps)))
|
||||
{
|
||||
#ifndef _XBOX
|
||||
|
@ -278,7 +278,7 @@ static void gfx_ctx_drm_update_window_title(void *data, video_frame_info_t video
|
||||
|
||||
buf[0] = buf_fps[0] = '\0';
|
||||
|
||||
video_monitor_get_fps(buf, sizeof(buf),
|
||||
video_monitor_get_fps(video_info, buf, sizeof(buf),
|
||||
buf_fps, sizeof(buf_fps));
|
||||
|
||||
if (video_info.fps_show)
|
||||
|
@ -97,7 +97,7 @@ static void gfx_ctx_emscripten_update_window_title(void *data, video_frame_info_
|
||||
|
||||
buf[0] = buf_fps[0] = '\0';
|
||||
|
||||
video_monitor_get_fps(buf, sizeof(buf),
|
||||
video_monitor_get_fps(video_info, buf, sizeof(buf),
|
||||
buf_fps, sizeof(buf_fps));
|
||||
if (video_info.fps_show)
|
||||
runloop_msg_queue_push(buf_fps, 1, 1, false);
|
||||
|
@ -117,7 +117,7 @@ static void gfx_ctx_khr_display_update_window_title(void *data, video_frame_info
|
||||
|
||||
buf[0] = buf_fps[0] = '\0';
|
||||
|
||||
video_monitor_get_fps(buf, sizeof(buf),
|
||||
video_monitor_get_fps(video_info, buf, sizeof(buf),
|
||||
buf_fps, sizeof(buf_fps));
|
||||
if (video_info.fps_show)
|
||||
runloop_msg_queue_push(buf_fps, 1, 1, false);
|
||||
|
@ -165,7 +165,7 @@ static void gfx_ctx_mali_fbdev_update_window_title(void *data, video_frame_info_
|
||||
|
||||
buf[0] = buf_fps[0] = '\0';
|
||||
|
||||
video_monitor_get_fps(buf, sizeof(buf),
|
||||
video_monitor_get_fps(video_info, buf, sizeof(buf),
|
||||
buf_fps, sizeof(buf_fps));
|
||||
if (video_info.fps_show)
|
||||
runloop_msg_queue_push(buf_fps, 1, 1, false);
|
||||
|
@ -148,7 +148,7 @@ static void gfx_ctx_opendingux_update_window_title(void *data, video_frame_info_
|
||||
|
||||
buf[0] = buf_fps[0] = '\0';
|
||||
|
||||
video_monitor_get_fps(buf, sizeof(buf),
|
||||
video_monitor_get_fps(video_info, buf, sizeof(buf),
|
||||
buf_fps, sizeof(buf_fps));
|
||||
if (video_info.fps_show)
|
||||
runloop_msg_queue_push(buf_fps, 1, 1, false);
|
||||
|
@ -316,7 +316,8 @@ static void osmesa_ctx_update_window_title(void *data, video_frame_info_t video_
|
||||
if (!osmesa)
|
||||
return;
|
||||
|
||||
video_monitor_get_fps(buf, sizeof(buf), buf_fps, sizeof(buf_fps));
|
||||
video_monitor_get_fps(video_info, buf,
|
||||
sizeof(buf), buf_fps, sizeof(buf_fps));
|
||||
|
||||
if (video_info.fps_show)
|
||||
runloop_msg_queue_push(buf_fps, 1, 1, false);
|
||||
|
@ -207,7 +207,7 @@ static void gfx_ctx_ps3_update_window_title(void *data, video_frame_info_t video
|
||||
|
||||
(void)data;
|
||||
|
||||
video_monitor_get_fps(buf, sizeof(buf),
|
||||
video_monitor_get_fps(video_info, buf, sizeof(buf),
|
||||
buf_fps, sizeof(buf_fps));
|
||||
if (video_info.fps_show)
|
||||
runloop_msg_queue_push(buf_fps, 1, 1, false);
|
||||
|
@ -274,7 +274,7 @@ static void sdl_ctx_update_window_title(void *data, video_frame_info_t video_inf
|
||||
|
||||
buf[0] = buf_fps[0] = '\0';
|
||||
|
||||
if (video_monitor_get_fps(buf, sizeof(buf),
|
||||
if (video_monitor_get_fps(video_info, buf, sizeof(buf),
|
||||
buf_fps, sizeof(buf_fps)))
|
||||
{
|
||||
#ifdef HAVE_SDL2
|
||||
|
@ -112,7 +112,7 @@ static void gfx_ctx_vc_update_window_title(void *data, video_frame_info_t video_
|
||||
|
||||
buf[0] = buf_fps[0] = '\0';
|
||||
|
||||
video_monitor_get_fps(buf, sizeof(buf),
|
||||
video_monitor_get_fps(video_info, buf, sizeof(buf),
|
||||
buf_fps, sizeof(buf_fps));
|
||||
if (video_info.fps_show)
|
||||
runloop_msg_queue_push(buf_fps, 1, 1, false);
|
||||
|
@ -152,7 +152,7 @@ static void gfx_ctx_vivante_update_window_title(void *data, video_frame_info_t v
|
||||
|
||||
buf[0] = buf_fps[0] = '\0';
|
||||
|
||||
video_monitor_get_fps(buf, sizeof(buf),
|
||||
video_monitor_get_fps(video_info, buf, sizeof(buf),
|
||||
buf_fps, sizeof(buf_fps));
|
||||
if (video_info.fps_show)
|
||||
runloop_msg_queue_push(buf_fps, 1, 1, false);
|
||||
|
@ -728,7 +728,7 @@ static void gfx_ctx_wl_update_window_title(void *data, video_frame_info_t video_
|
||||
|
||||
buf[0] = buf_fps[0] = '\0';
|
||||
|
||||
if (video_monitor_get_fps(buf, sizeof(buf),
|
||||
if (video_monitor_get_fps(video_info, buf, sizeof(buf),
|
||||
buf_fps, sizeof(buf_fps)))
|
||||
wl_shell_surface_set_title(wl->shell_surf, buf);
|
||||
|
||||
|
@ -393,7 +393,7 @@ static void gfx_ctx_wgl_update_window_title(void *data, video_frame_info_t video
|
||||
|
||||
buf[0] = buf_fps[0] = '\0';
|
||||
|
||||
if (window && video_monitor_get_fps(buf, sizeof(buf),
|
||||
if (window && video_monitor_get_fps(video_info, buf, sizeof(buf),
|
||||
buf_fps, sizeof(buf_fps)))
|
||||
window->set_title(&main_window, buf);
|
||||
if (video_info.fps_show)
|
||||
|
@ -1023,7 +1023,9 @@ bool video_monitor_fps_statistics(double *refresh_rate,
|
||||
* otherwise false.
|
||||
*
|
||||
**/
|
||||
bool video_monitor_get_fps(char *buf, size_t size,
|
||||
bool video_monitor_get_fps(
|
||||
video_frame_info_t video_info,
|
||||
char *buf, size_t size,
|
||||
char *buf_fps, size_t size_fps)
|
||||
{
|
||||
static retro_time_t curr_time;
|
||||
@ -1036,7 +1038,6 @@ bool video_monitor_get_fps(char *buf, size_t size,
|
||||
{
|
||||
static float last_fps;
|
||||
bool ret = false;
|
||||
settings_t *settings = config_get_ptr();
|
||||
unsigned write_index = video_driver_frame_time_count++ &
|
||||
(MEASURE_FRAME_TIME_SAMPLES_COUNT - 1);
|
||||
|
||||
@ -1055,7 +1056,7 @@ bool video_monitor_get_fps(char *buf, size_t size,
|
||||
" || ",
|
||||
size);
|
||||
|
||||
if (settings->fps_show)
|
||||
if (video_info.fps_show)
|
||||
{
|
||||
char fps_text[64];
|
||||
snprintf(fps_text, sizeof(fps_text), " FPS: %6.1f || ", last_fps);
|
||||
@ -1071,7 +1072,7 @@ bool video_monitor_get_fps(char *buf, size_t size,
|
||||
ret = true;
|
||||
}
|
||||
|
||||
if (buf_fps && settings->fps_show)
|
||||
if (buf_fps && video_info.fps_show)
|
||||
snprintf(buf_fps, size_fps, "FPS: %6.1f || %s: " STRING_REP_UINT64,
|
||||
last_fps,
|
||||
msg_hash_to_str(MSG_FRAMES),
|
||||
@ -1098,7 +1099,8 @@ void video_driver_set_aspect_ratio_value(float value)
|
||||
video_driver_aspect_ratio = value;
|
||||
}
|
||||
|
||||
static bool video_driver_frame_filter(const void *data,
|
||||
static bool video_driver_frame_filter(
|
||||
const void *data,
|
||||
unsigned width, unsigned height,
|
||||
size_t pitch,
|
||||
unsigned *output_width, unsigned *output_height,
|
||||
|
@ -465,7 +465,9 @@ bool video_monitor_fps_statistics(double *refresh_rate,
|
||||
* otherwise false.
|
||||
*
|
||||
**/
|
||||
bool video_monitor_get_fps(char *buf, size_t size,
|
||||
bool video_monitor_get_fps(
|
||||
video_frame_info_t video_info,
|
||||
char *buf, size_t size,
|
||||
char *buf_fps, size_t size_fps);
|
||||
|
||||
unsigned video_pixel_get_alignment(unsigned pitch);
|
||||
|
Loading…
x
Reference in New Issue
Block a user