mirror of
https://github.com/libretro/RetroArch
synced 2025-04-17 20:43:10 +00:00
Create drivers_init
This commit is contained in:
parent
d519ad7017
commit
cb64f28950
@ -2259,7 +2259,7 @@ bool command_event(enum event_command cmd, void *data)
|
|||||||
{
|
{
|
||||||
int flags = DRIVER_AUDIO_MASK;
|
int flags = DRIVER_AUDIO_MASK;
|
||||||
driver_ctl(RARCH_DRIVER_CTL_UNINIT, &flags);
|
driver_ctl(RARCH_DRIVER_CTL_UNINIT, &flags);
|
||||||
driver_ctl(RARCH_DRIVER_CTL_INIT, &flags);
|
drivers_init(flags);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case CMD_EVENT_RESET_CONTEXT:
|
case CMD_EVENT_RESET_CONTEXT:
|
||||||
@ -2278,7 +2278,7 @@ bool command_event(enum event_command cmd, void *data)
|
|||||||
memcpy(hwr, &hwr_copy, sizeof(*hwr));
|
memcpy(hwr, &hwr_copy, sizeof(*hwr));
|
||||||
video_driver_set_context_negotiation_interface(iface);
|
video_driver_set_context_negotiation_interface(iface);
|
||||||
|
|
||||||
driver_ctl(RARCH_DRIVER_CTL_INIT, &flags);
|
drivers_init(flags);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case CMD_EVENT_SHUTDOWN:
|
case CMD_EVENT_SHUTDOWN:
|
||||||
|
17
driver.c
17
driver.c
@ -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.
|
* @flags : Bitmask of drivers to initialize.
|
||||||
*
|
*
|
||||||
* Initializes drivers.
|
* Initializes drivers.
|
||||||
* @flags determines which drivers get initialized.
|
* @flags determines which drivers get initialized.
|
||||||
**/
|
**/
|
||||||
static void init_drivers(int flags)
|
void drivers_init(int flags)
|
||||||
{
|
{
|
||||||
if (flags & DRIVER_VIDEO_MASK)
|
if (flags & DRIVER_VIDEO_MASK)
|
||||||
video_driver_unset_own_driver();
|
video_driver_unset_own_driver();
|
||||||
@ -453,19 +453,6 @@ bool driver_ctl(enum driver_ctl_state state, void *data)
|
|||||||
int flags = DRIVERS_CMD_ALL;
|
int flags = DRIVERS_CMD_ALL;
|
||||||
return driver_ctl(RARCH_DRIVER_CTL_UNINIT, &flags);
|
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:
|
case RARCH_DRIVER_CTL_INIT_PRE:
|
||||||
audio_driver_find_driver();
|
audio_driver_find_driver();
|
||||||
video_driver_find_driver();
|
video_driver_find_driver();
|
||||||
|
9
driver.h
9
driver.h
@ -72,13 +72,6 @@ enum driver_ctl_state
|
|||||||
|
|
||||||
RARCH_DRIVER_CTL_UNINIT_ALL,
|
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
|
/* Attempts to find a default driver for
|
||||||
* all driver types.
|
* all driver types.
|
||||||
*
|
*
|
||||||
@ -122,6 +115,8 @@ typedef struct driver_ctx_info
|
|||||||
|
|
||||||
bool driver_ctl(enum driver_ctl_state state, void *data);
|
bool driver_ctl(enum driver_ctl_state state, void *data);
|
||||||
|
|
||||||
|
void drivers_init(int flags);
|
||||||
|
|
||||||
RETRO_END_DECLS
|
RETRO_END_DECLS
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -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_COMMAND_INIT, NULL);
|
||||||
command_event(CMD_EVENT_REMOTE_INIT, NULL);
|
command_event(CMD_EVENT_REMOTE_INIT, NULL);
|
||||||
command_event(CMD_EVENT_REWIND_INIT, NULL);
|
command_event(CMD_EVENT_REWIND_INIT, NULL);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user