mirror of
https://github.com/libretro/RetroArch
synced 2025-03-21 22:20:59 +00:00
Get rid of video_info struct for swap_buffers too
This commit is contained in:
parent
68664fdf1d
commit
e20151a048
@ -73,7 +73,7 @@ static void emscripten_mainloop(void)
|
||||
if ((emscripten_frame_count & 1) == 0)
|
||||
{
|
||||
glClear(GL_COLOR_BUFFER_BIT);
|
||||
video_info.cb_swap_buffers(video_info.context_data, &video_info);
|
||||
video_info.cb_swap_buffers(video_info.context_data);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -3103,12 +3103,12 @@ static bool gl2_frame(void *data, const void *frame,
|
||||
&& !video_info->runloop_is_slowmotion
|
||||
&& !video_info->runloop_is_paused)
|
||||
{
|
||||
video_info->cb_swap_buffers(video_info->context_data, video_info);
|
||||
video_info->cb_swap_buffers(video_info->context_data);
|
||||
glClear(GL_COLOR_BUFFER_BIT);
|
||||
}
|
||||
#endif
|
||||
|
||||
video_info->cb_swap_buffers(video_info->context_data, video_info);
|
||||
video_info->cb_swap_buffers(video_info->context_data);
|
||||
|
||||
/* check if we are fast forwarding or in menu, if we are ignore hard sync */
|
||||
if ( gl->have_sync
|
||||
|
@ -910,12 +910,12 @@ static bool gl1_gfx_frame(void *data, const void *frame,
|
||||
&& !video_info->runloop_is_slowmotion
|
||||
&& !video_info->runloop_is_paused)
|
||||
{
|
||||
video_info->cb_swap_buffers(video_info->context_data, video_info);
|
||||
video_info->cb_swap_buffers(video_info->context_data);
|
||||
glClear(GL_COLOR_BUFFER_BIT);
|
||||
}
|
||||
#endif
|
||||
|
||||
video_info->cb_swap_buffers(video_info->context_data, video_info);
|
||||
video_info->cb_swap_buffers(video_info->context_data);
|
||||
|
||||
/* check if we are fast forwarding or in menu, if we are ignore hard sync */
|
||||
if (video_info->hard_sync
|
||||
|
@ -1965,11 +1965,11 @@ static bool gl_core_frame(void *data, const void *frame,
|
||||
&& !video_info->runloop_is_slowmotion
|
||||
&& !video_info->runloop_is_paused)
|
||||
{
|
||||
video_info->cb_swap_buffers(video_info->context_data, video_info);
|
||||
video_info->cb_swap_buffers(video_info->context_data);
|
||||
glClear(GL_COLOR_BUFFER_BIT);
|
||||
}
|
||||
|
||||
video_info->cb_swap_buffers(video_info->context_data, video_info);
|
||||
video_info->cb_swap_buffers(video_info->context_data);
|
||||
|
||||
if (video_info->hard_sync &&
|
||||
!video_info->input_driver_nonblock_state &&
|
||||
|
@ -454,8 +454,7 @@ static bool vg_frame(void *data, const void *frame,
|
||||
|
||||
video_info->cb_update_window_title(
|
||||
video_info->context_data);
|
||||
video_info->cb_swap_buffers(
|
||||
video_info->context_data, video_info);
|
||||
video_info->cb_swap_buffers(video_info->context_data);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -1658,7 +1658,7 @@ static void vulkan_inject_black_frame(vk_t *vk, video_frame_info_t *video_info)
|
||||
slock_unlock(vk->context->queue_lock);
|
||||
#endif
|
||||
|
||||
video_info->cb_swap_buffers(video_info->context_data, video_info);
|
||||
video_info->cb_swap_buffers(video_info->context_data);
|
||||
}
|
||||
|
||||
static bool vulkan_frame(void *data, const void *frame,
|
||||
@ -2106,7 +2106,7 @@ static bool vulkan_frame(void *data, const void *frame,
|
||||
slock_unlock(vk->context->queue_lock);
|
||||
#endif
|
||||
|
||||
video_info->cb_swap_buffers(video_info->context_data, video_info);
|
||||
video_info->cb_swap_buffers(video_info->context_data);
|
||||
|
||||
if (!vk->context->swap_interval_emulation_lock)
|
||||
video_info->cb_update_window_title(
|
||||
|
@ -510,7 +510,7 @@ dpi_fallback:
|
||||
return true;
|
||||
}
|
||||
|
||||
static void android_gfx_ctx_swap_buffers(void *data, void *data2)
|
||||
static void android_gfx_ctx_swap_buffers(void *data)
|
||||
{
|
||||
android_ctx_data_t *and = (android_ctx_data_t*)data;
|
||||
|
||||
|
@ -97,7 +97,7 @@ static void gfx_ctx_cgl_check_window(void *data, bool *quit,
|
||||
}
|
||||
}
|
||||
|
||||
static void gfx_ctx_cgl_swap_buffers(void *data, void *data2)
|
||||
static void gfx_ctx_cgl_swap_buffers(void *data)
|
||||
{
|
||||
gfx_ctx_cgl_data_t *cgl = (gfx_ctx_cgl_data_t*)data;
|
||||
|
||||
|
@ -616,7 +616,7 @@ static void cocoagl_gfx_ctx_swap_interval(void *data, int i)
|
||||
}
|
||||
}
|
||||
|
||||
static void cocoagl_gfx_ctx_swap_buffers(void *data, void *data2)
|
||||
static void cocoagl_gfx_ctx_swap_buffers(void *data)
|
||||
{
|
||||
#ifdef HAVE_VULKAN
|
||||
cocoa_ctx_data_t *cocoa_ctx = (cocoa_ctx_data_t*)data;
|
||||
|
@ -245,10 +245,9 @@ static void gfx_ctx_drm_check_window(void *data, bool *quit,
|
||||
}
|
||||
|
||||
#ifdef HAVE_ODROIDGO2
|
||||
static void gfx_ctx_drm_swap_buffers(void *data, void *data2)
|
||||
static void gfx_ctx_drm_swap_buffers(void *data)
|
||||
{
|
||||
gfx_ctx_drm_data_t *drm = (gfx_ctx_drm_data_t*)data;
|
||||
video_frame_info_t *video_info = (video_frame_info_t*)data2;
|
||||
|
||||
switch (drm_api)
|
||||
{
|
||||
@ -273,10 +272,11 @@ static void gfx_ctx_drm_swap_buffers(void *data, void *data2)
|
||||
}
|
||||
}
|
||||
#else
|
||||
static void gfx_ctx_drm_swap_buffers(void *data, void *data2)
|
||||
static void gfx_ctx_drm_swap_buffers(void *data)
|
||||
{
|
||||
gfx_ctx_drm_data_t *drm = (gfx_ctx_drm_data_t*)data;
|
||||
video_frame_info_t *video_info = (video_frame_info_t*)data2;
|
||||
settings_t *settings = config_get_ptr();
|
||||
unsigned max_swapchain_images = settings->uints.video_max_swapchain_images;
|
||||
|
||||
switch (drm_api)
|
||||
{
|
||||
@ -302,7 +302,7 @@ static void gfx_ctx_drm_swap_buffers(void *data, void *data2)
|
||||
waiting_for_flip = gfx_ctx_drm_queue_flip();
|
||||
|
||||
/* Triple-buffered page flips */
|
||||
if (video_info->max_swapchain_images >= 3 &&
|
||||
if (max_swapchain_images >= 3 &&
|
||||
gbm_surface_has_free_buffers(g_gbm_surface))
|
||||
return;
|
||||
|
||||
|
@ -135,12 +135,12 @@ static void gfx_ctx_emscripten_check_window(void *data, bool *quit,
|
||||
*quit = false;
|
||||
}
|
||||
|
||||
static void gfx_ctx_emscripten_swap_buffers(void *data, void *data2)
|
||||
static void gfx_ctx_emscripten_swap_buffers(void *data)
|
||||
{
|
||||
emscripten_ctx_data_t *emscripten = (emscripten_ctx_data_t*)data;
|
||||
|
||||
/* doesn't really do anything in WebGL, but it might if we use WebGL workers
|
||||
* in the future */
|
||||
/* doesn't really do anything in WebGL, but it might
|
||||
* if we use WebGL workers in the future */
|
||||
#ifdef HAVE_EGL
|
||||
egl_swap_buffers(&emscripten->egl);
|
||||
#endif
|
||||
|
@ -159,11 +159,6 @@ static uint32_t gfx_ctx_fpga_get_flags(void *data)
|
||||
return flags;
|
||||
}
|
||||
|
||||
static void gfx_ctx_fpga_swap_buffers(void *data, void *data2)
|
||||
{
|
||||
(void)data;
|
||||
}
|
||||
|
||||
const gfx_ctx_driver_t gfx_ctx_fpga = {
|
||||
gfx_ctx_fpga_init,
|
||||
gfx_ctx_fpga_destroy,
|
||||
@ -182,7 +177,7 @@ const gfx_ctx_driver_t gfx_ctx_fpga = {
|
||||
gfx_ctx_fpga_has_focus,
|
||||
gfx_ctx_fpga_suppress_screensaver,
|
||||
gfx_ctx_fpga_has_windowed,
|
||||
gfx_ctx_fpga_swap_buffers,
|
||||
NULL, /* swap_buffers */
|
||||
gfx_ctx_fpga_input_driver,
|
||||
NULL,
|
||||
NULL,
|
||||
|
@ -246,10 +246,8 @@ static uint32_t gfx_ctx_gdi_get_flags(void *data)
|
||||
return flags;
|
||||
}
|
||||
|
||||
static void gfx_ctx_gdi_swap_buffers(void *data, void *data2)
|
||||
static void gfx_ctx_gdi_swap_buffers(void *data)
|
||||
{
|
||||
(void)data;
|
||||
|
||||
SwapBuffers(win32_gdi_hdc);
|
||||
}
|
||||
|
||||
|
@ -34,11 +34,6 @@ static void gfx_ctx_null_check_window(void *data, bool *quit,
|
||||
(void)resize;
|
||||
}
|
||||
|
||||
static void gfx_ctx_null_swap_buffers(void *data, void *data2)
|
||||
{
|
||||
(void)data;
|
||||
}
|
||||
|
||||
static void gfx_ctx_null_get_video_size(void *data, unsigned *width, unsigned *height)
|
||||
{
|
||||
(void)data;
|
||||
@ -157,7 +152,7 @@ const gfx_ctx_driver_t gfx_ctx_null = {
|
||||
gfx_ctx_null_has_focus,
|
||||
gfx_ctx_null_suppress_screensaver,
|
||||
false, /* has_windowed */
|
||||
gfx_ctx_null_swap_buffers,
|
||||
NULL, /* swap_buffers */
|
||||
gfx_ctx_null_input_driver,
|
||||
NULL,
|
||||
NULL,
|
||||
|
@ -242,7 +242,7 @@ static void gfx_ctx_khr_display_set_swap_interval(void *data,
|
||||
}
|
||||
}
|
||||
|
||||
static void gfx_ctx_khr_display_swap_buffers(void *data, void *data2)
|
||||
static void gfx_ctx_khr_display_swap_buffers(void *data)
|
||||
{
|
||||
khr_display_ctx_data_t *khr = (khr_display_ctx_data_t*)data;
|
||||
vulkan_present(&khr->vk, khr->vk.context.current_swapchain_index);
|
||||
|
@ -253,7 +253,7 @@ static void gfx_ctx_mali_fbdev_set_swap_interval(void *data,
|
||||
#endif
|
||||
}
|
||||
|
||||
static void gfx_ctx_mali_fbdev_swap_buffers(void *data, void *data2)
|
||||
static void gfx_ctx_mali_fbdev_swap_buffers(void *data)
|
||||
{
|
||||
mali_ctx_data_t *mali = (mali_ctx_data_t*)data;
|
||||
|
||||
|
@ -147,7 +147,7 @@ static uint32_t gfx_ctx_network_get_flags(void *data)
|
||||
return flags;
|
||||
}
|
||||
|
||||
static void gfx_ctx_network_swap_buffers(void *data, void *data2)
|
||||
static void gfx_ctx_network_swap_buffers(void *data)
|
||||
{
|
||||
(void)data;
|
||||
}
|
||||
|
@ -211,7 +211,7 @@ static bool gfx_ctx_opendingux_suppress_screensaver(void *data, bool enable)
|
||||
return false;
|
||||
}
|
||||
|
||||
static void gfx_ctx_opendingux_swap_buffers(void *data, void *data2)
|
||||
static void gfx_ctx_opendingux_swap_buffers(void *data)
|
||||
{
|
||||
opendingux_ctx_data_t *viv = (opendingux_ctx_data_t*)data;
|
||||
|
||||
|
@ -233,7 +233,7 @@ static void orbis_ctx_set_swap_interval(void *data,
|
||||
#endif
|
||||
}
|
||||
|
||||
static void orbis_ctx_swap_buffers(void *data, void *data2)
|
||||
static void orbis_ctx_swap_buffers(void *data)
|
||||
{
|
||||
orbis_ctx_data_t *ctx_orbis = (orbis_ctx_data_t *)data;
|
||||
|
||||
|
@ -340,7 +340,7 @@ static bool osmesa_ctx_suppress_screensaver(void *data, bool enable)
|
||||
return false;
|
||||
}
|
||||
|
||||
static void osmesa_ctx_swap_buffers(void *data, void *data2)
|
||||
static void osmesa_ctx_swap_buffers(void *data)
|
||||
{
|
||||
gfx_ctx_osmesa_data_t *osmesa = (gfx_ctx_osmesa_data_t*)data;
|
||||
osmesa_fifo_accept(osmesa);
|
||||
|
@ -173,7 +173,7 @@ static bool gfx_ctx_ps3_suppress_screensaver(void *data, bool enable)
|
||||
return false;
|
||||
}
|
||||
|
||||
static void gfx_ctx_ps3_swap_buffers(void *data, void *data2)
|
||||
static void gfx_ctx_ps3_swap_buffers(void *data)
|
||||
{
|
||||
(void)data;
|
||||
#ifdef HAVE_PSGL
|
||||
|
@ -413,7 +413,7 @@ static void gfx_ctx_qnx_set_swap_interval(void *data, int swap_interval)
|
||||
#endif
|
||||
}
|
||||
|
||||
static void gfx_ctx_qnx_swap_buffers(void *data, void *data2)
|
||||
static void gfx_ctx_qnx_swap_buffers(void *data)
|
||||
{
|
||||
qnx_ctx_data_t *qnx = (qnx_ctx_data_t*)data;
|
||||
|
||||
|
@ -375,7 +375,7 @@ static bool sdl_ctx_suppress_screensaver(void *data, bool enable)
|
||||
return false;
|
||||
}
|
||||
|
||||
static void sdl_ctx_swap_buffers(void *data, void *data2)
|
||||
static void sdl_ctx_swap_buffers(void *data)
|
||||
{
|
||||
#ifdef HAVE_SDL2
|
||||
gfx_ctx_sdl_data_t *sdl = (gfx_ctx_sdl_data_t*)data;
|
||||
|
@ -147,11 +147,6 @@ static uint32_t gfx_ctx_sixel_get_flags(void *data)
|
||||
return flags;
|
||||
}
|
||||
|
||||
static void gfx_ctx_sixel_swap_buffers(void *data, void *data2)
|
||||
{
|
||||
(void)data;
|
||||
}
|
||||
|
||||
const gfx_ctx_driver_t gfx_ctx_sixel = {
|
||||
gfx_ctx_sixel_init,
|
||||
gfx_ctx_sixel_destroy,
|
||||
@ -172,7 +167,7 @@ const gfx_ctx_driver_t gfx_ctx_sixel = {
|
||||
gfx_ctx_sixel_has_focus,
|
||||
gfx_ctx_sixel_suppress_screensaver,
|
||||
true, /* has_windowed */
|
||||
gfx_ctx_sixel_swap_buffers,
|
||||
NULL, /* swap_buffers */
|
||||
gfx_ctx_sixel_input_driver,
|
||||
NULL,
|
||||
NULL,
|
||||
|
@ -240,9 +240,9 @@ static void switch_ctx_set_swap_interval(void *data,
|
||||
#endif
|
||||
}
|
||||
|
||||
static void switch_ctx_swap_buffers(void *data, void *data2)
|
||||
static void switch_ctx_swap_buffers(void *data)
|
||||
{
|
||||
switch_ctx_data_t *ctx_nx = (switch_ctx_data_t *)data;
|
||||
switch_ctx_data_t *ctx_nx = (switch_ctx_data_t*)data;
|
||||
|
||||
#ifdef HAVE_EGL
|
||||
egl_swap_buffers(&ctx_nx->egl);
|
||||
|
@ -154,18 +154,16 @@ static gfx_ctx_proc_t gfx_ctx_uwp_get_proc_address(const char* symbol)
|
||||
}
|
||||
|
||||
|
||||
static void gfx_ctx_uwp_swap_buffers(void *data, void *data2)
|
||||
static void gfx_ctx_uwp_swap_buffers(void *data)
|
||||
{
|
||||
(void)data;
|
||||
|
||||
switch (uwp_api)
|
||||
{
|
||||
case GFX_CTX_OPENGL_ES_API:
|
||||
egl_swap_buffers(&uwp_egl);
|
||||
break;
|
||||
case GFX_CTX_NONE:
|
||||
default:
|
||||
break;
|
||||
case GFX_CTX_OPENGL_ES_API:
|
||||
egl_swap_buffers(&uwp_egl);
|
||||
break;
|
||||
case GFX_CTX_NONE:
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -194,18 +194,6 @@ static void *gfx_ctx_vc_init(video_frame_info_t *video_info, void *video_driver)
|
||||
if (!vc)
|
||||
return NULL;
|
||||
|
||||
/* If we set this env variable, Broadcom's EGL implementation will block
|
||||
* on vsync with a double buffer when we call eglSwapBuffers. Less input lag!
|
||||
* Has to be done before any EGL call.
|
||||
* NOTE this is commented out because it should be the right way to do it, but
|
||||
* currently it doesn't work, so we are using an vsync callback based solution.*/
|
||||
#if 0
|
||||
if (video_info->max_swapchain_images <= 2)
|
||||
setenv("V3D_DOUBLE_BUFFER", "1", 1);
|
||||
else
|
||||
setenv("V3D_DOUBLE_BUFFER", "0", 1);
|
||||
#endif
|
||||
|
||||
bcm_host_init();
|
||||
|
||||
#ifdef HAVE_EGL
|
||||
@ -648,11 +636,12 @@ error:
|
||||
return false;
|
||||
}
|
||||
|
||||
static void gfx_ctx_vc_swap_buffers(void *data, void *data2)
|
||||
static void gfx_ctx_vc_swap_buffers(void *data)
|
||||
{
|
||||
#ifdef HAVE_EGL
|
||||
vc_ctx_data_t *vc = (vc_ctx_data_t*)data;
|
||||
video_frame_info_t *video_info = (video_frame_info_t*)data2;
|
||||
settings_t *settings = config_get_ptr();
|
||||
unsigned max_swapchain_images = settings->uints.video_max_swapchain_images;
|
||||
|
||||
if (!vc)
|
||||
return;
|
||||
@ -661,7 +650,7 @@ static void gfx_ctx_vc_swap_buffers(void *data, void *data2)
|
||||
|
||||
/* Wait for vsync immediately if we don't
|
||||
* want egl_swap_buffers to triple-buffer */
|
||||
if (video_info->max_swapchain_images <= 2)
|
||||
if (max_swapchain_images <= 2)
|
||||
{
|
||||
/* We DON'T wait to wait without callback function ready! */
|
||||
if (!vc->vsync_callback_set)
|
||||
|
@ -48,7 +48,7 @@ static void vita_check_window(void *data, bool *quit,
|
||||
*quit = (bool)false;
|
||||
}
|
||||
|
||||
static void vita_swap_buffers(void *data, void *data2)
|
||||
static void vita_swap_buffers(void *data)
|
||||
{
|
||||
(void)data;
|
||||
vglStopRendering();
|
||||
|
@ -225,7 +225,7 @@ static void gfx_ctx_vivante_set_swap_interval(void *data, int swap_interval)
|
||||
#endif
|
||||
}
|
||||
|
||||
static void gfx_ctx_vivante_swap_buffers(void *data, void *data2)
|
||||
static void gfx_ctx_vivante_swap_buffers(void *data)
|
||||
{
|
||||
vivante_ctx_data_t *viv = (vivante_ctx_data_t*)data;
|
||||
|
||||
|
@ -1816,7 +1816,7 @@ static void *gfx_ctx_wl_get_context_data(void *data)
|
||||
}
|
||||
#endif
|
||||
|
||||
static void gfx_ctx_wl_swap_buffers(void *data, void *data2)
|
||||
static void gfx_ctx_wl_swap_buffers(void *data)
|
||||
{
|
||||
gfx_ctx_wayland_data_t *wl = (gfx_ctx_wayland_data_t*)data;
|
||||
|
||||
|
@ -536,7 +536,7 @@ static void gfx_ctx_wgl_check_window(void *data, bool *quit,
|
||||
}
|
||||
}
|
||||
|
||||
static void gfx_ctx_wgl_swap_buffers(void *data, void *data2)
|
||||
static void gfx_ctx_wgl_swap_buffers(void *data)
|
||||
{
|
||||
(void)data;
|
||||
|
||||
|
@ -354,7 +354,7 @@ static void gfx_ctx_x_swap_interval(void *data, int interval)
|
||||
}
|
||||
}
|
||||
|
||||
static void gfx_ctx_x_swap_buffers(void *data, void *data2)
|
||||
static void gfx_ctx_x_swap_buffers(void *data)
|
||||
{
|
||||
gfx_ctx_x_data_t *x = (gfx_ctx_x_data_t*)data;
|
||||
|
||||
|
@ -520,7 +520,7 @@ static void gfx_ctx_xegl_show_mouse(void *data, bool state)
|
||||
x11_show_mouse(g_x11_dpy, g_x11_win, state);
|
||||
}
|
||||
|
||||
static void gfx_ctx_xegl_swap_buffers(void *data, void *data2)
|
||||
static void gfx_ctx_xegl_swap_buffers(void *data)
|
||||
{
|
||||
xegl_ctx_data_t *xegl = (xegl_ctx_data_t*)data;
|
||||
|
||||
|
@ -21772,7 +21772,7 @@ bool video_driver_started_fullscreen(void)
|
||||
/* Stub functions */
|
||||
|
||||
static void update_window_title_null(void *data) { }
|
||||
static void swap_buffers_null(void *data, void *data2) { }
|
||||
static void swap_buffers_null(void *data) { }
|
||||
static bool get_metrics_null(void *data, enum display_metric_types type,
|
||||
float *value) { return false; }
|
||||
static bool set_resize_null(void *a, unsigned b, unsigned c) { return false; }
|
||||
|
@ -1188,7 +1188,7 @@ typedef struct video_frame_info
|
||||
} osd_stat_params;
|
||||
|
||||
void (*cb_update_window_title)(void*);
|
||||
void (*cb_swap_buffers)(void*, void *);
|
||||
void (*cb_swap_buffers)(void*);
|
||||
bool (*cb_get_metrics)(void *data, enum display_metric_types type,
|
||||
float *value);
|
||||
bool (*cb_set_resize)(void*, unsigned, unsigned);
|
||||
@ -1268,7 +1268,7 @@ typedef struct gfx_ctx_driver
|
||||
|
||||
/* Swaps buffers. VBlank sync depends on
|
||||
* earlier calls to swap_interval. */
|
||||
void (*swap_buffers)(void*, void *);
|
||||
void (*swap_buffers)(void*);
|
||||
|
||||
/* Most video backends will want to use a certain input driver.
|
||||
* Checks for it here. */
|
||||
|
Loading…
x
Reference in New Issue
Block a user