From 85e5c783af442f140c12ea90bf74b7e8264e9d4f Mon Sep 17 00:00:00 2001 From: twinaphex Date: Mon, 3 Aug 2020 00:47:58 +0200 Subject: [PATCH] Backport getting rid of video_context_driver_input_driver --- gfx/drivers/gl.c | 12 +++++++----- gfx/drivers/gl1.c | 12 +++++++----- gfx/drivers/gl_core.c | 11 +++++++---- gfx/drivers/vg.c | 12 +++++++----- gfx/drivers/vulkan.c | 12 ++++++++---- retroarch.c | 15 --------------- retroarch.h | 2 -- 7 files changed, 36 insertions(+), 40 deletions(-) diff --git a/gfx/drivers/gl.c b/gfx/drivers/gl.c index bd29113648..f6b3c455a0 100644 --- a/gfx/drivers/gl.c +++ b/gfx/drivers/gl.c @@ -3577,7 +3577,6 @@ static void *gl2_init(const video_info_t *video, input_driver_t **input, void **input_data) { enum gfx_wrap_type wrap_type; - gfx_ctx_input_t inp; unsigned full_x, full_y; video_shader_ctx_info_t shader_info; settings_t *settings = config_get_ptr(); @@ -3909,10 +3908,13 @@ static void *gl2_init(const video_info_t *video, } } - inp.input = input; - inp.input_data = input_data; - - video_context_driver_input_driver(&inp); + if (gl->ctx_driver->input_driver) + { + const char *joypad_name = settings->arrays.input_joypad_driver; + gl->ctx_driver->input_driver( + gl->ctx_data, joypad_name, + input, input_data); + } if (video->font_enable) font_driver_init_osd(gl, video, diff --git a/gfx/drivers/gl1.c b/gfx/drivers/gl1.c index 1abec2ab41..ca4c0fe5c0 100644 --- a/gfx/drivers/gl1.c +++ b/gfx/drivers/gl1.c @@ -218,7 +218,6 @@ static void *gl1_gfx_init(const video_info_t *video, input_driver_t **input, void **input_data) { unsigned full_x, full_y; - gfx_ctx_input_t inp; void *ctx_data = NULL; const gfx_ctx_driver_t *ctx_driver = NULL; unsigned mode_width = 0; @@ -379,10 +378,13 @@ static void *gl1_gfx_init(const video_info_t *video, video_driver_set_gpu_api_version_string(version); } - inp.input = input; - inp.input_data = input_data; - - video_context_driver_input_driver(&inp); + if (gl1->ctx_driver->input_driver) + { + const char *joypad_name = settings->arrays.input_joypad_driver; + gl1->ctx_driver->input_driver( + gl1->ctx_data, joypad_name, + input, input_data); + } if (video_font_enable) font_driver_init_osd(gl1, diff --git a/gfx/drivers/gl_core.c b/gfx/drivers/gl_core.c index f71ce4869b..564d33b45b 100644 --- a/gfx/drivers/gl_core.c +++ b/gfx/drivers/gl_core.c @@ -1152,7 +1152,6 @@ static void gl_core_set_viewport_wrapper(void *data, static void *gl_core_init(const video_info_t *video, input_driver_t **input, void **input_data) { - gfx_ctx_input_t inp; unsigned full_x, full_y; settings_t *settings = config_get_ptr(); bool video_gpu_record = settings->bools.video_gpu_record; @@ -1308,9 +1307,13 @@ static void *gl_core_init(const video_info_t *video, * the viewport sizes before we start running. */ gl_core_set_viewport_wrapper(gl, temp_width, temp_height, false, true); - inp.input = input; - inp.input_data = input_data; - video_context_driver_input_driver(&inp); + if (gl->ctx_driver->input_driver) + { + const char *joypad_name = settings->arrays.input_joypad_driver; + gl->ctx_driver->input_driver( + gl->ctx_data, joypad_name, + input, input_data); + } if (!gl_core_init_filter_chain(gl)) { diff --git a/gfx/drivers/vg.c b/gfx/drivers/vg.c index 20d705533d..1b9b37776b 100644 --- a/gfx/drivers/vg.c +++ b/gfx/drivers/vg.c @@ -108,7 +108,6 @@ static INLINE bool vg_query_extension(const char *ext) static void *vg_init(const video_info_t *video, input_driver_t **input, void **input_data) { - gfx_ctx_input_t inp; unsigned win_width, win_height; VGfloat clearColor[4] = {0, 0, 0, 1}; int interval = 0; @@ -222,10 +221,13 @@ static void *vg_init(const video_info_t *video, : VG_IMAGE_QUALITY_NONANTIALIASED); vg_set_nonblock_state(vg, !video->vsync, adaptive_vsync_enabled, interval); - inp.input = input; - inp.input_data = input_data; - - video_context_driver_input_driver(&inp); + if (vg->ctx_driver->input_driver) + { + const char *joypad_name = settings->arrays.input_joypad_driver; + vg->ctx_driver->input_driver( + vg->ctx_data, joypad_name, + input, input_data); + } if ( video->font_enable && font_renderer_create_default( diff --git a/gfx/drivers/vulkan.c b/gfx/drivers/vulkan.c index c91ae1ba5d..430bee49b2 100644 --- a/gfx/drivers/vulkan.c +++ b/gfx/drivers/vulkan.c @@ -1166,7 +1166,6 @@ static void *vulkan_init(const video_info_t *video, input_driver_t **input, void **input_data) { - gfx_ctx_input_t inp; unsigned full_x, full_y; unsigned win_width; unsigned win_height; @@ -1176,6 +1175,7 @@ static void *vulkan_init(const video_info_t *video, unsigned temp_width = 0; unsigned temp_height = 0; const gfx_ctx_driver_t *ctx_driver = NULL; + settings_t *settings = config_get_ptr(); vk_t *vk = (vk_t*)calloc(1, sizeof(*vk)); if (!vk) return NULL; @@ -1277,9 +1277,13 @@ static void *vulkan_init(const video_info_t *video, goto error; } - inp.input = input; - inp.input_data = input_data; - video_context_driver_input_driver(&inp); + if (vk->ctx_driver->input_driver) + { + const char *joypad_name = settings->arrays.input_joypad_driver; + vk->ctx_driver->input_driver( + vk->ctx_data, joypad_name, + input, input_data); + } if (video->font_enable) font_driver_init_osd(vk, diff --git a/retroarch.c b/retroarch.c index a1ab7e4221..f20a336b32 100644 --- a/retroarch.c +++ b/retroarch.c @@ -33541,21 +33541,6 @@ bool video_context_driver_get_refresh_rate(float *refresh_rate) return true; } -bool video_context_driver_input_driver(gfx_ctx_input_t *inp) -{ - struct rarch_state *p_rarch = &rarch_st; - if (p_rarch->current_video_context.input_driver) - { - settings_t *settings = p_rarch->configuration_settings; - const char *joypad_name = settings->arrays.input_joypad_driver; - p_rarch->current_video_context.input_driver( - p_rarch->video_context_data, joypad_name, - inp->input, inp->input_data); - return true; - } - return false; -} - bool video_context_driver_get_ident(gfx_ctx_ident_t *ident) { struct rarch_state *p_rarch = &rarch_st; diff --git a/retroarch.h b/retroarch.h index af4bb44290..36a81d48a8 100644 --- a/retroarch.h +++ b/retroarch.h @@ -1783,8 +1783,6 @@ bool video_context_driver_set_flags(gfx_ctx_flags_t *flags); bool video_context_driver_get_metrics(gfx_ctx_metrics_t *metrics); -bool video_context_driver_input_driver(gfx_ctx_input_t *inp); - enum gfx_ctx_api video_context_driver_get_api(void); void video_context_driver_free(void);