diff --git a/gfx/drivers_context/android_ctx.c b/gfx/drivers_context/android_ctx.c index 539a3b2078..7198b974e1 100644 --- a/gfx/drivers_context/android_ctx.c +++ b/gfx/drivers_context/android_ctx.c @@ -102,7 +102,7 @@ static void android_gfx_ctx_destroy(void *data) free(data); } -static void *android_gfx_ctx_init(video_frame_info_t *video_info, void *video_driver) +static void *android_gfx_ctx_init(void *video_driver) { #ifdef HAVE_OPENGLES EGLint n, major, minor; diff --git a/gfx/drivers_context/cgl_ctx.c b/gfx/drivers_context/cgl_ctx.c index 0caa46b226..a427031117 100644 --- a/gfx/drivers_context/cgl_ctx.c +++ b/gfx/drivers_context/cgl_ctx.c @@ -289,7 +289,7 @@ static CGSSurfaceID attach_gl_context_to_window(CGLContextObj glCtx, return sid; } -static void *gfx_ctx_cgl_init(video_frame_info_t *video_info, void *video_driver) +static void *gfx_ctx_cgl_init(void *video_driver) { CGError err; gfx_ctx_cgl_data_t *cgl = (gfx_ctx_cgl_data_t*)calloc(1, sizeof(gfx_ctx_cgl_data_t)); diff --git a/gfx/drivers_context/cocoa_gl_ctx.m b/gfx/drivers_context/cocoa_gl_ctx.m index 9ce3d3638a..59e6b8fceb 100644 --- a/gfx/drivers_context/cocoa_gl_ctx.m +++ b/gfx/drivers_context/cocoa_gl_ctx.m @@ -819,7 +819,7 @@ static bool cocoagl_gfx_ctx_set_video_mode(void *data, return true; } -static void *cocoagl_gfx_ctx_init(video_frame_info_t *video_info, void *video_driver) +static void *cocoagl_gfx_ctx_init(void *video_driver) { cocoa_ctx_data_t *cocoa_ctx = (cocoa_ctx_data_t*) calloc(1, sizeof(cocoa_ctx_data_t)); diff --git a/gfx/drivers_context/drm_ctx.c b/gfx/drivers_context/drm_ctx.c index 1f4fcfb872..135c3b2ad2 100644 --- a/gfx/drivers_context/drm_ctx.c +++ b/gfx/drivers_context/drm_ctx.c @@ -389,7 +389,7 @@ static void gfx_ctx_drm_destroy_resources(gfx_ctx_drm_data_t *drm) } #endif -static void *gfx_ctx_drm_init(video_frame_info_t *video_info, void *video_driver) +static void *gfx_ctx_drm_init(void *video_driver) { #ifndef HAVE_ODROIDGO2 int fd, i; diff --git a/gfx/drivers_context/emscriptenegl_ctx.c b/gfx/drivers_context/emscriptenegl_ctx.c index 1f66f99d1f..9353bd16a5 100644 --- a/gfx/drivers_context/emscriptenegl_ctx.c +++ b/gfx/drivers_context/emscriptenegl_ctx.c @@ -172,8 +172,7 @@ static void gfx_ctx_emscripten_destroy(void *data) free(data); } -static void *gfx_ctx_emscripten_init(video_frame_info_t *video_info, - void *video_driver) +static void *gfx_ctx_emscripten_init(void *video_driver) { #ifdef HAVE_EGL unsigned width, height; diff --git a/gfx/drivers_context/fpga_ctx.c b/gfx/drivers_context/fpga_ctx.c index 97047a4d1b..e9a769c5b1 100644 --- a/gfx/drivers_context/fpga_ctx.c +++ b/gfx/drivers_context/fpga_ctx.c @@ -68,7 +68,7 @@ static void gfx_ctx_fpga_get_video_size(void *data, *height = g_resize_height; } -static void *gfx_ctx_fpga_init(video_frame_info_t *video_info, void *video_driver) +static void *gfx_ctx_fpga_init(void *video_driver) { (void)video_driver; diff --git a/gfx/drivers_context/gdi_ctx.c b/gfx/drivers_context/gdi_ctx.c index 58dddbc832..816f191325 100644 --- a/gfx/drivers_context/gdi_ctx.c +++ b/gfx/drivers_context/gdi_ctx.c @@ -107,8 +107,7 @@ static void gfx_ctx_gdi_get_video_size(void *data, } } -static void *gfx_ctx_gdi_init( - video_frame_info_t *video_info, void *video_driver) +static void *gfx_ctx_gdi_init(void *video_driver) { WNDCLASSEX wndclass = {0}; gfx_ctx_gdi_data_t *gdi = (gfx_ctx_gdi_data_t*)calloc(1, sizeof(*gdi)); diff --git a/gfx/drivers_context/gfx_null_ctx.c b/gfx/drivers_context/gfx_null_ctx.c index 33571bb783..698de8ce0e 100644 --- a/gfx/drivers_context/gfx_null_ctx.c +++ b/gfx/drivers_context/gfx_null_ctx.c @@ -112,7 +112,7 @@ static void gfx_ctx_null_bind_hw_render(void *data, bool enable) (void)enable; } -static void *gfx_ctx_null_init(video_frame_info_t *video_info, void *video_driver) +static void *gfx_ctx_null_init(void *video_driver) { (void)video_driver; diff --git a/gfx/drivers_context/khr_display_ctx.c b/gfx/drivers_context/khr_display_ctx.c index 0186c7921b..42f377c29a 100644 --- a/gfx/drivers_context/khr_display_ctx.c +++ b/gfx/drivers_context/khr_display_ctx.c @@ -58,8 +58,7 @@ static void gfx_ctx_khr_display_get_video_size(void *data, *height = khr->height; } -static void *gfx_ctx_khr_display_init(video_frame_info_t *video_info, - void *video_driver) +static void *gfx_ctx_khr_display_init(void *video_driver) { khr_display_ctx_data_t *khr = (khr_display_ctx_data_t*)calloc(1, sizeof(*khr)); if (!khr) diff --git a/gfx/drivers_context/mali_fbdev_ctx.c b/gfx/drivers_context/mali_fbdev_ctx.c index e3da766108..034a8445d2 100644 --- a/gfx/drivers_context/mali_fbdev_ctx.c +++ b/gfx/drivers_context/mali_fbdev_ctx.c @@ -92,8 +92,7 @@ static void gfx_ctx_mali_fbdev_get_video_size(void *data, *height = mali->height; } -static void *gfx_ctx_mali_fbdev_init(video_frame_info_t *video_info, - void *video_driver) +static void *gfx_ctx_mali_fbdev_init(void *video_driver) { #ifdef HAVE_EGL EGLint n; diff --git a/gfx/drivers_context/network_ctx.c b/gfx/drivers_context/network_ctx.c index cc7c846fd3..c7a4ca7469 100644 --- a/gfx/drivers_context/network_ctx.c +++ b/gfx/drivers_context/network_ctx.c @@ -54,8 +54,7 @@ static void gfx_ctx_network_get_video_size(void *data, (void)data; } -static void *gfx_ctx_network_init( - video_frame_info_t *video_info, void *video_driver) +static void *gfx_ctx_network_init(void *video_driver) { (void)video_driver; diff --git a/gfx/drivers_context/opendingux_fbdev_ctx.c b/gfx/drivers_context/opendingux_fbdev_ctx.c index 73ba46ea96..cdfb0ee923 100644 --- a/gfx/drivers_context/opendingux_fbdev_ctx.c +++ b/gfx/drivers_context/opendingux_fbdev_ctx.c @@ -59,7 +59,7 @@ static void gfx_ctx_opendingux_destroy(void *data) } } -static void *gfx_ctx_opendingux_init(video_frame_info_t *video_info, void *video_driver) +static void *gfx_ctx_opendingux_init(void *video_driver) { #ifdef HAVE_EGL EGLint n; diff --git a/gfx/drivers_context/orbis_ctx.c b/gfx/drivers_context/orbis_ctx.c index 77aeb1ee2c..ede966e248 100644 --- a/gfx/drivers_context/orbis_ctx.c +++ b/gfx/drivers_context/orbis_ctx.c @@ -55,7 +55,7 @@ static void orbis_ctx_get_video_size(void *data, *height = ATTR_ORBISGL_HEIGHT; } -static void *orbis_ctx_init(video_frame_info_t *video_info, void *video_driver) +static void *orbis_ctx_init(void *video_driver) { #ifdef HAVE_EGL int ret; diff --git a/gfx/drivers_context/osmesa_ctx.c b/gfx/drivers_context/osmesa_ctx.c index 353bc0f5b2..63a8c21506 100644 --- a/gfx/drivers_context/osmesa_ctx.c +++ b/gfx/drivers_context/osmesa_ctx.c @@ -142,7 +142,7 @@ static void osmesa_fifo_write(gfx_ctx_osmesa_data_t *osmesa) } } -static void *osmesa_ctx_init(video_frame_info_t *video_info, void *video_driver) +static void *osmesa_ctx_init(void *video_driver) { #ifdef HAVE_OSMESA_CREATE_CONTEXT_ATTRIBS const int attribs[] = { diff --git a/gfx/drivers_context/ps3_ctx.c b/gfx/drivers_context/ps3_ctx.c index ecf2490553..353e12ac85 100644 --- a/gfx/drivers_context/ps3_ctx.c +++ b/gfx/drivers_context/ps3_ctx.c @@ -195,7 +195,7 @@ static void gfx_ctx_ps3_get_video_size(void *data, #endif } -static void *gfx_ctx_ps3_init(video_frame_info_t *video_info, void *video_driver) +static void *gfx_ctx_ps3_init(void *video_driver) { #ifdef HAVE_PSGL PSGLdeviceParameters params; diff --git a/gfx/drivers_context/qnx_ctx.c b/gfx/drivers_context/qnx_ctx.c index d90adb0e22..9ad55430d3 100644 --- a/gfx/drivers_context/qnx_ctx.c +++ b/gfx/drivers_context/qnx_ctx.c @@ -74,7 +74,7 @@ static void gfx_ctx_qnx_destroy(void *data) free(data); } -static void *gfx_ctx_qnx_init(video_frame_info_t *video_info, void *video_driver) +static void *gfx_ctx_qnx_init(void *video_driver) { EGLint n; EGLint major, minor; diff --git a/gfx/drivers_context/sdl_gl_ctx.c b/gfx/drivers_context/sdl_gl_ctx.c index f22ab6370f..5666cd342f 100644 --- a/gfx/drivers_context/sdl_gl_ctx.c +++ b/gfx/drivers_context/sdl_gl_ctx.c @@ -76,7 +76,7 @@ static void sdl_ctx_destroy_resources(gfx_ctx_sdl_data_t *sdl) SDL_QuitSubSystem(SDL_INIT_VIDEO); } -static void *sdl_ctx_init(video_frame_info_t *video_info, void *video_driver) +static void *sdl_ctx_init(void *video_driver) { gfx_ctx_sdl_data_t *sdl = (gfx_ctx_sdl_data_t*) calloc(1, sizeof(gfx_ctx_sdl_data_t)); diff --git a/gfx/drivers_context/sixel_ctx.c b/gfx/drivers_context/sixel_ctx.c index a81e57aa14..7b6ca0e226 100644 --- a/gfx/drivers_context/sixel_ctx.c +++ b/gfx/drivers_context/sixel_ctx.c @@ -54,8 +54,7 @@ static void gfx_ctx_sixel_get_video_size(void *data, (void)data; } -static void *gfx_ctx_sixel_init( - video_frame_info_t *video_info, void *video_driver) +static void *gfx_ctx_sixel_init(void *video_driver) { (void)video_driver; diff --git a/gfx/drivers_context/switch_ctx.c b/gfx/drivers_context/switch_ctx.c index c9f629a44b..ec30b43e31 100644 --- a/gfx/drivers_context/switch_ctx.c +++ b/gfx/drivers_context/switch_ctx.c @@ -63,7 +63,7 @@ static void switch_ctx_get_video_size(void *data, } } -static void *switch_ctx_init(video_frame_info_t *video_info, void *video_driver) +static void *switch_ctx_init(void *video_driver) { #ifdef HAVE_EGL EGLint n; diff --git a/gfx/drivers_context/uwp_egl_ctx.c b/gfx/drivers_context/uwp_egl_ctx.c index f80f2f2466..7367311ecc 100644 --- a/gfx/drivers_context/uwp_egl_ctx.c +++ b/gfx/drivers_context/uwp_egl_ctx.c @@ -186,7 +186,7 @@ static void gfx_ctx_uwp_get_video_size(void *data, win32_check_window(&quit, &resize, width, height); } -static void *gfx_ctx_uwp_init(video_frame_info_t *video_info, void *video_driver) +static void *gfx_ctx_uwp_init(void *video_driver) { gfx_ctx_uwp_data_t *uwp = (gfx_ctx_uwp_data_t*)calloc(1, sizeof(*uwp)); diff --git a/gfx/drivers_context/vc_egl_ctx.c b/gfx/drivers_context/vc_egl_ctx.c index 0149b170e5..2222ffb6ce 100644 --- a/gfx/drivers_context/vc_egl_ctx.c +++ b/gfx/drivers_context/vc_egl_ctx.c @@ -148,10 +148,12 @@ static void dispmanx_vsync_callback(DISPMANX_UPDATE_HANDLE_T u, void *data) static void gfx_ctx_vc_destroy(void *data); -static void *gfx_ctx_vc_init(video_frame_info_t *video_info, void *video_driver) +static void *gfx_ctx_vc_init(void *video_driver) { VC_DISPMANX_ALPHA_T alpha; EGLint n, major, minor; + settings_t *settings = config_get_ptr(); + unsigned max_swapchain_images = settings->uints.video_max_swapchain_images; DISPMANX_ELEMENT_HANDLE_T dispman_element; DISPMANX_DISPLAY_HANDLE_T dispman_display; @@ -311,7 +313,7 @@ static void *gfx_ctx_vc_init(video_frame_info_t *video_info, void *video_driver) vc->vsync_condition_mutex = slock_new(); vc->vsync_callback_set = false; - if (video_info->max_swapchain_images <= 2) + if (max_swapchain_images <= 2) { /* Start sending vsync callbacks so we can wait for vsync after eglSwapBuffers */ vc_dispmanx_vsync_callback(vc->dispman_display, diff --git a/gfx/drivers_context/vita_ctx.c b/gfx/drivers_context/vita_ctx.c index 7aaa54b177..6cecfeb308 100644 --- a/gfx/drivers_context/vita_ctx.c +++ b/gfx/drivers_context/vita_ctx.c @@ -121,7 +121,7 @@ static void vita_bind_hw_render(void *data, bool enable) (void)enable; } -static void *vita_init(video_frame_info_t *video_info, void *video_driver) +static void *vita_init(void *video_driver) { (void)video_driver; diff --git a/gfx/drivers_context/vivante_fbdev_ctx.c b/gfx/drivers_context/vivante_fbdev_ctx.c index cc31af9ecb..da89fdcf32 100644 --- a/gfx/drivers_context/vivante_fbdev_ctx.c +++ b/gfx/drivers_context/vivante_fbdev_ctx.c @@ -61,7 +61,7 @@ static void gfx_ctx_vivante_destroy(void *data) } -static void *gfx_ctx_vivante_init(video_frame_info_t *video_info, void *video_driver) +static void *gfx_ctx_vivante_init(void *video_driver) { #ifdef HAVE_EGL EGLint n; diff --git a/gfx/drivers_context/wayland_ctx.c b/gfx/drivers_context/wayland_ctx.c index ee55074b29..e2c16609bc 100644 --- a/gfx/drivers_context/wayland_ctx.c +++ b/gfx/drivers_context/wayland_ctx.c @@ -1215,7 +1215,7 @@ static bool gfx_ctx_wl_get_metrics(void *data, EGL_DEPTH_SIZE, 0 #endif -static void *gfx_ctx_wl_init(video_frame_info_t *video_info, void *video_driver) +static void *gfx_ctx_wl_init(void *video_driver) { int i; #ifdef HAVE_EGL diff --git a/gfx/drivers_context/wgl_ctx.c b/gfx/drivers_context/wgl_ctx.c index 3d2e841b57..6d26f3306f 100644 --- a/gfx/drivers_context/wgl_ctx.c +++ b/gfx/drivers_context/wgl_ctx.c @@ -637,7 +637,7 @@ static void gfx_ctx_wgl_get_video_size(void *data, } } -static void *gfx_ctx_wgl_init(video_frame_info_t *video_info, void *video_driver) +static void *gfx_ctx_wgl_init(void *video_driver) { WNDCLASSEX wndclass = {0}; gfx_ctx_wgl_data_t *wgl = (gfx_ctx_wgl_data_t*)calloc(1, sizeof(*wgl)); diff --git a/gfx/drivers_context/x_ctx.c b/gfx/drivers_context/x_ctx.c index 00a5b4f1d8..88b4cb9c9a 100644 --- a/gfx/drivers_context/x_ctx.c +++ b/gfx/drivers_context/x_ctx.c @@ -459,7 +459,7 @@ static bool gfx_ctx_x_set_resize(void *data, return true; } -static void *gfx_ctx_x_init(video_frame_info_t *video_info, void *data) +static void *gfx_ctx_x_init(void *data) { int nelements = 0; int major = 0; diff --git a/gfx/drivers_context/xegl_ctx.c b/gfx/drivers_context/xegl_ctx.c index 45861f7cec..fc01931b60 100644 --- a/gfx/drivers_context/xegl_ctx.c +++ b/gfx/drivers_context/xegl_ctx.c @@ -105,7 +105,7 @@ EGL_BLUE_SIZE, 1, \ EGL_ALPHA_SIZE, 0, \ EGL_DEPTH_SIZE, 0 -static void *gfx_ctx_xegl_init(video_frame_info_t *video_info, void *video_driver) +static void *gfx_ctx_xegl_init(void *video_driver) { #ifdef HAVE_EGL static const EGLint egl_attribs_gl[] = { diff --git a/retroarch.c b/retroarch.c index 2322439040..8ca9a4c298 100644 --- a/retroarch.c +++ b/retroarch.c @@ -24153,7 +24153,8 @@ static const gfx_ctx_driver_t *video_context_driver_init( unsigned minor, bool hw_render_ctx, void **ctx_data) { - video_frame_info_t video_info; + settings_t *settings = configuration_settings; + bool video_shared_context = settings->bools.video_shared_context; if (!ctx->bind_api(data, api, major, minor)) { @@ -24164,14 +24165,12 @@ static const gfx_ctx_driver_t *video_context_driver_init( return NULL; } - video_driver_build_info(&video_info); - - if (!(*ctx_data = ctx->init(&video_info, data))) + if (!(*ctx_data = ctx->init(data))) return NULL; if (ctx->bind_hw_render) ctx->bind_hw_render(*ctx_data, - video_info.shared_context && hw_render_ctx); + video_shared_context && hw_render_ctx); return ctx; } diff --git a/retroarch.h b/retroarch.h index 044f83a4a6..b7ef407290 100644 --- a/retroarch.h +++ b/retroarch.h @@ -1209,7 +1209,7 @@ typedef struct gfx_ctx_driver * to hold a pointer to it as the context never outlives the video driver. * * The context driver is responsible for it's own data.*/ - void* (*init)(video_frame_info_t *video_info, void *video_driver); + void* (*init)(void *video_driver); void (*destroy)(void *data); enum gfx_ctx_api (*get_api)(void *data);