Create RARCH_DRIVER_CTL_INIT_PRE

This commit is contained in:
twinaphex 2015-12-11 10:52:15 +01:00
parent f2911269d5
commit 0a01eab115
3 changed files with 18 additions and 33 deletions

View File

@ -197,26 +197,6 @@ bool find_next_driver(const char *label, char *s, size_t len)
return true;
}
/**
* init_drivers_pre:
*
* Attempts to find a default driver for
* all driver types.
*
* Should be run before init_drivers().
**/
void init_drivers_pre(void)
{
audio_driver_ctl(RARCH_AUDIO_CTL_FIND_DRIVER, NULL);
video_driver_ctl(RARCH_DISPLAY_CTL_FIND_DRIVER, NULL);
input_driver_ctl(RARCH_INPUT_CTL_FIND_DRIVER, NULL);
find_camera_driver();
find_location_driver();
#ifdef HAVE_MENU
find_menu_driver();
#endif
}
static void driver_adjust_system_rates(void)
{
rarch_system_info_t *system = NULL;
@ -464,6 +444,16 @@ bool driver_ctl(enum driver_ctl_state state, void *data)
{
switch (state)
{
case RARCH_DRIVER_CTL_INIT_PRE:
audio_driver_ctl(RARCH_AUDIO_CTL_FIND_DRIVER, NULL);
video_driver_ctl(RARCH_DISPLAY_CTL_FIND_DRIVER, NULL);
input_driver_ctl(RARCH_INPUT_CTL_FIND_DRIVER, NULL);
find_camera_driver();
find_location_driver();
#ifdef HAVE_MENU
find_menu_driver();
#endif
break;
case RARCH_DRIVER_CTL_DEINIT:
video_driver_ctl(RARCH_DISPLAY_CTL_DESTROY, NULL);
audio_driver_ctl(RARCH_AUDIO_CTL_DESTROY, NULL);

View File

@ -175,7 +175,13 @@ enum
enum driver_ctl_state
{
RARCH_DRIVER_CTL_NONE = 0,
RARCH_DRIVER_CTL_DEINIT
RARCH_DRIVER_CTL_DEINIT,
/* Attempts to find a default driver for
* all driver types.
*
* Should be run before RARCH_DRIVER_CTL_INIT.
*/
RARCH_DRIVER_CTL_INIT_PRE,
};
@ -203,16 +209,6 @@ enum driver_ctl_state
**/
void init_drivers(int flags);
/**
* init_drivers_pre:
*
* Attempts to find a default driver for
* all driver types.
*
* Should be run before init_drivers().
**/
void init_drivers_pre(void);
/**
* uninit_drivers:
* @flags : Bitmask of drivers to deinitialize.

View File

@ -1171,8 +1171,7 @@ int rarch_main_init(int argc, char *argv[])
init_libretro_sym(global->inited.core.type);
runloop_ctl(RUNLOOP_CTL_SYSTEM_INFO_INIT, NULL);
init_drivers_pre();
driver_ctl(RARCH_DRIVER_CTL_INIT_PRE, NULL);
if (!event_command(EVENT_CMD_CORE_INIT))
goto error;