Don't grab settings pointer in video_monitor_get_fps function

This commit is contained in:
twinaphex 2017-01-09 15:42:14 +01:00
parent 35fefb1c09
commit 36fb6776b2
28 changed files with 54 additions and 33 deletions

View File

@ -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);

View File

@ -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. */

View File

@ -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);
}

View File

@ -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)

View File

@ -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);

View File

@ -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;

View File

@ -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);

View File

@ -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;
}

View File

@ -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);
}

View File

@ -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>

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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

View File

@ -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)

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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

View File

@ -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);

View File

@ -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);

View File

@ -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);

View File

@ -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)

View File

@ -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,

View File

@ -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);