mirror of
https://github.com/libretro/RetroArch
synced 2025-02-20 15:40:44 +00:00
Get rid of more driver_funcs macros
This commit is contained in:
parent
b21a757b5e
commit
823be1ce41
@ -234,7 +234,7 @@ static bool cmd_set_shader(const char *arg)
|
||||
msg_queue_push(g_extern.msg_queue, msg, 1, 120);
|
||||
RARCH_LOG("Applying shader \"%s\".\n", arg);
|
||||
|
||||
return video_set_shader_func(type, arg);
|
||||
return driver.video->set_shader(driver.video_data, type, arg);
|
||||
}
|
||||
|
||||
static const struct cmd_action_map action_map[] = {
|
||||
|
6
driver.c
6
driver.c
@ -821,7 +821,7 @@ static void adjust_system_rates(void)
|
||||
if (driver.video_data)
|
||||
{
|
||||
if (g_extern.system.force_nonblock)
|
||||
video_set_nonblock_state_func(true);
|
||||
driver.video->set_nonblock_state(driver.video_data, true);
|
||||
else
|
||||
driver_set_nonblock_state(driver.nonblock_state);
|
||||
}
|
||||
@ -850,7 +850,7 @@ void driver_set_nonblock_state(bool nonblock)
|
||||
bool video_nb = nonblock;
|
||||
if (!g_settings.video.vsync || g_extern.system.force_nonblock)
|
||||
video_nb = true;
|
||||
video_set_nonblock_state_func(video_nb);
|
||||
driver.video->set_nonblock_state(driver.video_data, video_nb);
|
||||
}
|
||||
|
||||
if (g_extern.audio_active && driver.audio_data)
|
||||
@ -1525,7 +1525,7 @@ void init_video_input(void)
|
||||
}
|
||||
|
||||
if (driver.video->set_rotation)
|
||||
video_set_rotation_func((g_settings.video.rotation + g_extern.system.rotation) % 4);
|
||||
driver.video->set_rotation(driver.video_data, (g_settings.video.rotation + g_extern.system.rotation) % 4);
|
||||
|
||||
#ifdef HAVE_X11
|
||||
if (driver.display_type == RARCH_DISPLAY_X11)
|
||||
|
@ -18,16 +18,6 @@
|
||||
#ifndef _RARCH_DRIVER_FUNCS_H
|
||||
#define _RARCH_DRIVER_FUNCS_H
|
||||
|
||||
#define video_set_nonblock_state_func(state) driver.video->set_nonblock_state(driver.video_data, state)
|
||||
#define video_alive_func() driver.video->alive(driver.video_data)
|
||||
#define video_focus_func() driver.video->focus(driver.video_data)
|
||||
#define video_set_shader_func(type, path) driver.video->set_shader(driver.video_data, type, path)
|
||||
#define video_set_rotation_func(rotate) driver.video->set_rotation(driver.video_data, rotate)
|
||||
#define video_set_aspect_ratio_func(aspect_idx) driver.video->set_aspect_ratio(driver.video_data, aspect_idx)
|
||||
#define video_viewport_info_func(info) driver.video->viewport_info(driver.video_data, info)
|
||||
#define video_read_viewport_func(buffer) driver.video->read_viewport(driver.video_data, buffer)
|
||||
#define video_overlay_interface_func(iface) driver.video->overlay_interface(driver.video_data, iface)
|
||||
|
||||
static inline bool input_key_pressed_func(int key)
|
||||
{
|
||||
bool ret = false;
|
||||
|
@ -554,7 +554,7 @@ bool rarch_environment_cb(unsigned cmd, void *data)
|
||||
if (driver.video && driver.video->set_rotation)
|
||||
{
|
||||
if (driver.video_data)
|
||||
video_set_rotation_func(rotation);
|
||||
driver.video->set_rotation(driver.video_data, rotation);
|
||||
}
|
||||
else
|
||||
return false;
|
||||
|
@ -132,7 +132,8 @@ static int main_entry_iterate_menu_preinit(args_type() args)
|
||||
return 1;
|
||||
|
||||
// Menu should always run with vsync on.
|
||||
video_set_nonblock_state_func(false);
|
||||
driver.video->set_nonblock_state(driver.video_data, false);
|
||||
|
||||
// Stop all rumbling when entering the menu.
|
||||
for (i = 0; i < MAX_PLAYERS; i++)
|
||||
{
|
||||
@ -174,7 +175,7 @@ static int main_entry_iterate_menu(args_type() args)
|
||||
g_extern.lifecycle_state |= (1ULL << MODE_CLEAR_INPUT);
|
||||
|
||||
// If QUIT state came from command interface, we'll only see it once due to MODE_CLEAR_INPUT.
|
||||
if (input_key_pressed_func(RARCH_QUIT_KEY) || !video_alive_func())
|
||||
if (input_key_pressed_func(RARCH_QUIT_KEY) || !driver.video->alive(driver.video_data))
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@ -2725,7 +2725,7 @@ static void menu_common_shader_manager_set_preset(struct gfx_shader *shader, uns
|
||||
#ifdef HAVE_SHADER_MANAGER
|
||||
RARCH_LOG("Setting Menu shader: %s.\n", cgp_path ? cgp_path : "N/A (stock)");
|
||||
|
||||
if (driver.video->set_shader && video_set_shader_func((enum rarch_shader_type)type, cgp_path))
|
||||
if (driver.video->set_shader && driver.video->set_shader(driver.video_data, (enum rarch_shader_type)type, cgp_path))
|
||||
{
|
||||
// Makes sure that we use Menu CGP shader on driver reinit.
|
||||
// Only do this when the cgp actually works to avoid potential errors.
|
||||
@ -3946,8 +3946,9 @@ static int menu_common_setting_set(unsigned id, unsigned action, rarch_setting_t
|
||||
if (driver_monitor_fps_statistics(&refresh_rate, &deviation, &sample_points))
|
||||
{
|
||||
driver_set_monitor_refresh_rate(refresh_rate);
|
||||
|
||||
// Incase refresh rate update forced non-block video.
|
||||
video_set_nonblock_state_func(false);
|
||||
driver.video->set_nonblock_state(driver.video_data, false);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
@ -390,7 +390,7 @@ bool menu_iterate(void)
|
||||
#endif
|
||||
rarch_check_fullscreen();
|
||||
|
||||
if (input_key_pressed_func(RARCH_QUIT_KEY) || !video_alive_func())
|
||||
if (input_key_pressed_func(RARCH_QUIT_KEY) || !driver.video->alive(driver.video_data))
|
||||
{
|
||||
g_extern.lifecycle_state |= (1ULL << MODE_GAME);
|
||||
return false;
|
||||
|
@ -254,8 +254,8 @@ bool input_translate_coord_viewport(int mouse_x, int mouse_y,
|
||||
int16_t *res_x, int16_t *res_y, int16_t *res_screen_x, int16_t *res_screen_y)
|
||||
{
|
||||
struct rarch_viewport vp = {0};
|
||||
if (driver.video->viewport_info)
|
||||
video_viewport_info_func(&vp);
|
||||
if (driver.video && driver.video->viewport_info)
|
||||
driver.video->viewport_info(driver.video_data, &vp);
|
||||
else
|
||||
return false;
|
||||
|
||||
|
@ -592,7 +592,8 @@ input_overlay_t *input_overlay_new(const char *overlay)
|
||||
goto error;
|
||||
}
|
||||
|
||||
video_overlay_interface_func(&ol->iface);
|
||||
if (driver.video && driver.video->overlay_interface)
|
||||
driver.video->overlay_interface(driver.video_data, &ol->iface);
|
||||
ol->iface_data = driver.video_data;
|
||||
|
||||
if (!ol->iface)
|
||||
|
@ -255,10 +255,12 @@ static void x_input_poll_mouse(x11_input_t *x11)
|
||||
x11->mouse_wd = mask & Button5Mask;
|
||||
|
||||
// Somewhat hacky, but seem to do the job.
|
||||
if (x11->grab_mouse && video_focus_func())
|
||||
if (x11->grab_mouse && driver.video->focus(driver.video_data))
|
||||
{
|
||||
struct rarch_viewport vp = {0};
|
||||
video_viewport_info_func(&vp);
|
||||
|
||||
if (driver.video && driver.video->viewport_info)
|
||||
driver.video->viewport_info(driver.video_data, &vp);
|
||||
int mid_w = vp.full_width >> 1;
|
||||
int mid_h = vp.full_height >> 1;
|
||||
|
||||
@ -277,7 +279,7 @@ static void x_input_poll(void *data)
|
||||
{
|
||||
x11_input_t *x11 = (x11_input_t*)data;
|
||||
|
||||
if (video_focus_func())
|
||||
if (driver.video->focus(driver.video_data))
|
||||
XQueryKeymap(x11->display, x11->state);
|
||||
else
|
||||
memset(x11->state, 0, sizeof(x11->state));
|
||||
|
25
retroarch.c
25
retroarch.c
@ -86,7 +86,8 @@ static bool take_screenshot_viewport(void)
|
||||
bool retval = false;
|
||||
struct rarch_viewport vp = {0};
|
||||
|
||||
video_viewport_info_func(&vp);
|
||||
if (driver.video && driver.video->viewport_info)
|
||||
driver.video->viewport_info(driver.video_data, &vp);
|
||||
|
||||
if (!vp.width || !vp.height)
|
||||
return false;
|
||||
@ -94,8 +95,9 @@ static bool take_screenshot_viewport(void)
|
||||
if (!(buffer = (uint8_t*)malloc(vp.width * vp.height * 3)))
|
||||
return false;
|
||||
|
||||
if (!video_read_viewport_func(buffer))
|
||||
goto done;
|
||||
if (driver.video && driver.video->read_viewport)
|
||||
if (!driver.video->read_viewport(driver.video_data, buffer))
|
||||
goto done;
|
||||
|
||||
screenshot_dir = g_settings.screenshot_directory;
|
||||
|
||||
@ -253,7 +255,8 @@ static void init_recording(void)
|
||||
if (g_settings.video.gpu_record && driver.video->read_viewport)
|
||||
{
|
||||
struct rarch_viewport vp = {0};
|
||||
video_viewport_info_func(&vp);
|
||||
if (driver.video && driver.video->viewport_info)
|
||||
driver.video->viewport_info(driver.video_data, &vp);
|
||||
|
||||
if (!vp.width || !vp.height)
|
||||
{
|
||||
@ -357,7 +360,8 @@ static void recording_dump_frame(const void *data, unsigned width, unsigned heig
|
||||
{
|
||||
struct rarch_viewport vp = {0};
|
||||
|
||||
video_viewport_info_func(&vp);
|
||||
if (driver.video && driver.video->viewport_info)
|
||||
driver.video->viewport_info(driver.video_data, &vp);
|
||||
|
||||
if (!vp.width || !vp.height)
|
||||
{
|
||||
@ -384,8 +388,9 @@ static void recording_dump_frame(const void *data, unsigned width, unsigned heig
|
||||
// Big bottleneck.
|
||||
// Since we might need to do read-backs asynchronously, it might take 3-4 times
|
||||
// before this returns true ...
|
||||
if (!video_read_viewport_func(g_extern.record_gpu_buffer))
|
||||
return;
|
||||
if (driver.video && driver.video->read_viewport)
|
||||
if (!driver.video->read_viewport(driver.video_data, g_extern.record_gpu_buffer))
|
||||
return;
|
||||
|
||||
ffemu_data.pitch = g_extern.record_gpu_width * 3;
|
||||
ffemu_data.width = g_extern.record_gpu_width;
|
||||
@ -2267,7 +2272,7 @@ static void check_pause(void)
|
||||
new_state |= !g_extern.is_paused && input_key_pressed_func(RARCH_FRAMEADVANCE);
|
||||
|
||||
if (g_settings.pause_nonactive)
|
||||
focus = video_focus_func();
|
||||
focus = driver.video->focus(driver.video_data);
|
||||
|
||||
if (focus && new_state && !old_state)
|
||||
{
|
||||
@ -2408,7 +2413,7 @@ static void check_shader_dir(void)
|
||||
msg_queue_push(g_extern.msg_queue, msg, 1, 120);
|
||||
RARCH_LOG("Applying shader \"%s\".\n", shader);
|
||||
|
||||
if (!video_set_shader_func(type, shader))
|
||||
if (!driver.video->set_shader(driver.video_data, type, shader))
|
||||
RARCH_WARN("Failed to apply shader.\n");
|
||||
}
|
||||
|
||||
@ -3231,7 +3236,7 @@ bool rarch_main_iterate(void)
|
||||
return false;
|
||||
|
||||
// Time to drop?
|
||||
if (input_key_pressed_func(RARCH_QUIT_KEY) || !video_alive_func())
|
||||
if (input_key_pressed_func(RARCH_QUIT_KEY) || !driver.video->alive(driver.video_data))
|
||||
return false;
|
||||
|
||||
if (check_enter_menu())
|
||||
|
@ -1090,7 +1090,8 @@ static void general_write_handler(const void *data)
|
||||
else if (!strcmp(setting->name, "video_rotation"))
|
||||
{
|
||||
g_settings.video.rotation = *setting->value.unsigned_integer;
|
||||
video_set_rotation_func((g_settings.video.rotation + g_extern.system.rotation) % 4);
|
||||
if (driver.video && driver.video->set_rotation)
|
||||
driver.video->set_rotation(driver.video_data, (g_settings.video.rotation + g_extern.system.rotation) % 4);
|
||||
}
|
||||
else if (!strcmp(setting->name, "video_threaded"))
|
||||
{
|
||||
@ -1101,7 +1102,7 @@ static void general_write_handler(const void *data)
|
||||
{
|
||||
g_settings.video.swap_interval = *setting->value.unsigned_integer;
|
||||
if (driver.video && driver.video_data)
|
||||
video_set_nonblock_state_func(false);
|
||||
driver.video->set_nonblock_state(driver.video_data, false);
|
||||
}
|
||||
else if (!strcmp(setting->name, "video_crop_overscan"))
|
||||
g_settings.video.crop_overscan = *setting->value.boolean;
|
||||
@ -1227,8 +1228,9 @@ static void general_write_handler(const void *data)
|
||||
if (driver.video && driver.video_data)
|
||||
{
|
||||
driver_set_monitor_refresh_rate(*setting->value.fraction);
|
||||
|
||||
/* In case refresh rate update forced non-block video. */
|
||||
video_set_nonblock_state_func(false);
|
||||
driver.video->set_nonblock_state(driver.video_data, false);
|
||||
}
|
||||
}
|
||||
else if (!strcmp(setting->name, "video_aspect_ratio"))
|
||||
|
Loading…
x
Reference in New Issue
Block a user