Create drivers_init

This commit is contained in:
twinaphex 2017-01-16 22:04:57 +01:00
parent d519ad7017
commit cb64f28950
4 changed files with 7 additions and 25 deletions

View File

@ -2259,7 +2259,7 @@ bool command_event(enum event_command cmd, void *data)
{
int flags = DRIVER_AUDIO_MASK;
driver_ctl(RARCH_DRIVER_CTL_UNINIT, &flags);
driver_ctl(RARCH_DRIVER_CTL_INIT, &flags);
drivers_init(flags);
}
break;
case CMD_EVENT_RESET_CONTEXT:
@ -2278,7 +2278,7 @@ bool command_event(enum event_command cmd, void *data)
memcpy(hwr, &hwr_copy, sizeof(*hwr));
video_driver_set_context_negotiation_interface(iface);
driver_ctl(RARCH_DRIVER_CTL_INIT, &flags);
drivers_init(flags);
}
break;
case CMD_EVENT_SHUTDOWN:

View File

@ -287,13 +287,13 @@ static bool driver_update_system_av_info(const struct retro_system_av_info *info
}
/**
* init_drivers:
* drivers_init:
* @flags : Bitmask of drivers to initialize.
*
* Initializes drivers.
* @flags determines which drivers get initialized.
**/
static void init_drivers(int flags)
void drivers_init(int flags)
{
if (flags & DRIVER_VIDEO_MASK)
video_driver_unset_own_driver();
@ -453,19 +453,6 @@ bool driver_ctl(enum driver_ctl_state state, void *data)
int flags = DRIVERS_CMD_ALL;
return driver_ctl(RARCH_DRIVER_CTL_UNINIT, &flags);
}
case RARCH_DRIVER_CTL_INIT:
{
int *flags = (int*)data;
if (!flags)
return false;
init_drivers(*flags);
}
break;
case RARCH_DRIVER_CTL_INIT_ALL:
{
int flags = DRIVERS_CMD_ALL;
return driver_ctl(RARCH_DRIVER_CTL_INIT, &flags);
}
case RARCH_DRIVER_CTL_INIT_PRE:
audio_driver_find_driver();
video_driver_find_driver();

View File

@ -72,13 +72,6 @@ enum driver_ctl_state
RARCH_DRIVER_CTL_UNINIT_ALL,
/* Initializes drivers.
* @data is a bitmask which determines
* which drivers get initialized. */
RARCH_DRIVER_CTL_INIT,
RARCH_DRIVER_CTL_INIT_ALL,
/* Attempts to find a default driver for
* all driver types.
*
@ -122,6 +115,8 @@ typedef struct driver_ctx_info
bool driver_ctl(enum driver_ctl_state state, void *data);
void drivers_init(int flags);
RETRO_END_DECLS
#endif

View File

@ -1074,7 +1074,7 @@ bool retroarch_main_init(int argc, char *argv[])
}
}
driver_ctl(RARCH_DRIVER_CTL_INIT_ALL, NULL);
drivers_init(DRIVERS_CMD_ALL);
command_event(CMD_EVENT_COMMAND_INIT, NULL);
command_event(CMD_EVENT_REMOTE_INIT, NULL);
command_event(CMD_EVENT_REWIND_INIT, NULL);