mirror of
https://github.com/libretro/RetroArch
synced 2025-04-10 15:45:19 +00:00
Create RARCH_DRIVER_CTL_INIT
This commit is contained in:
parent
60f606fc65
commit
ab36e92595
@ -1264,14 +1264,23 @@ bool event_command(enum event_command cmd)
|
|||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
case EVENT_CMD_DRIVERS_DEINIT:
|
case EVENT_CMD_DRIVERS_DEINIT:
|
||||||
uninit_drivers(DRIVERS_CMD_ALL);
|
{
|
||||||
|
int flags = DRIVERS_CMD_ALL;
|
||||||
|
uninit_drivers(flags);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case EVENT_CMD_DRIVERS_INIT:
|
case EVENT_CMD_DRIVERS_INIT:
|
||||||
init_drivers(DRIVERS_CMD_ALL);
|
{
|
||||||
|
int flags = DRIVERS_CMD_ALL;
|
||||||
|
driver_ctl(RARCH_DRIVER_CTL_INIT, &flags);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case EVENT_CMD_AUDIO_REINIT:
|
case EVENT_CMD_AUDIO_REINIT:
|
||||||
uninit_drivers(DRIVER_AUDIO);
|
{
|
||||||
init_drivers(DRIVER_AUDIO);
|
int flags = DRIVER_AUDIO;
|
||||||
|
uninit_drivers(flags);
|
||||||
|
driver_ctl(RARCH_DRIVER_CTL_INIT, &flags);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case EVENT_CMD_RESET_CONTEXT:
|
case EVENT_CMD_RESET_CONTEXT:
|
||||||
event_command(EVENT_CMD_DRIVERS_DEINIT);
|
event_command(EVENT_CMD_DRIVERS_DEINIT);
|
||||||
|
10
driver.c
10
driver.c
@ -307,7 +307,7 @@ static void menu_update_libretro_info(void)
|
|||||||
* Initializes drivers.
|
* Initializes drivers.
|
||||||
* @flags determines which drivers get initialized.
|
* @flags determines which drivers get initialized.
|
||||||
**/
|
**/
|
||||||
void init_drivers(int flags)
|
static void init_drivers(int flags)
|
||||||
{
|
{
|
||||||
if (flags & DRIVER_VIDEO)
|
if (flags & DRIVER_VIDEO)
|
||||||
video_driver_ctl(RARCH_DISPLAY_CTL_UNSET_OWN_DRIVER, NULL);
|
video_driver_ctl(RARCH_DISPLAY_CTL_UNSET_OWN_DRIVER, NULL);
|
||||||
@ -439,6 +439,14 @@ bool driver_ctl(enum driver_ctl_state state, void *data)
|
|||||||
camera_driver_ctl(RARCH_CAMERA_CTL_DESTROY, NULL);
|
camera_driver_ctl(RARCH_CAMERA_CTL_DESTROY, NULL);
|
||||||
retro_uninit_libretro_cbs();
|
retro_uninit_libretro_cbs();
|
||||||
break;
|
break;
|
||||||
|
case RARCH_DRIVER_CTL_INIT:
|
||||||
|
{
|
||||||
|
int *flags = (int*)data;
|
||||||
|
if (!flags)
|
||||||
|
return false;
|
||||||
|
init_drivers(*flags);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
case RARCH_DRIVER_CTL_INIT_PRE:
|
case RARCH_DRIVER_CTL_INIT_PRE:
|
||||||
audio_driver_ctl(RARCH_AUDIO_CTL_FIND_DRIVER, NULL);
|
audio_driver_ctl(RARCH_AUDIO_CTL_FIND_DRIVER, NULL);
|
||||||
video_driver_ctl(RARCH_DISPLAY_CTL_FIND_DRIVER, NULL);
|
video_driver_ctl(RARCH_DISPLAY_CTL_FIND_DRIVER, NULL);
|
||||||
|
14
driver.h
14
driver.h
@ -160,7 +160,6 @@ enum analog_dpad_mode
|
|||||||
ANALOG_DPAD_LAST
|
ANALOG_DPAD_LAST
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Flags for init_drivers/uninit_drivers */
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
DRIVER_AUDIO = 1 << 0,
|
DRIVER_AUDIO = 1 << 0,
|
||||||
@ -176,6 +175,10 @@ enum driver_ctl_state
|
|||||||
{
|
{
|
||||||
RARCH_DRIVER_CTL_NONE = 0,
|
RARCH_DRIVER_CTL_NONE = 0,
|
||||||
RARCH_DRIVER_CTL_DEINIT,
|
RARCH_DRIVER_CTL_DEINIT,
|
||||||
|
/* Initializes drivers.
|
||||||
|
* @data is a bitmask which determines
|
||||||
|
* which drivers get initialized. */
|
||||||
|
RARCH_DRIVER_CTL_INIT,
|
||||||
/* Attempts to find a default driver for
|
/* Attempts to find a default driver for
|
||||||
* all driver types.
|
* all driver types.
|
||||||
*
|
*
|
||||||
@ -213,15 +216,6 @@ enum driver_ctl_state
|
|||||||
* Typically, if a driver intends to make use of this, it should
|
* Typically, if a driver intends to make use of this, it should
|
||||||
* set this to true at the end of its 'init' function. */
|
* set this to true at the end of its 'init' function. */
|
||||||
|
|
||||||
/**
|
|
||||||
* init_drivers:
|
|
||||||
* @flags : Bitmask of drivers to initialize.
|
|
||||||
*
|
|
||||||
* Initializes drivers.
|
|
||||||
* @flags determines which drivers get initialized.
|
|
||||||
**/
|
|
||||||
void init_drivers(int flags);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* uninit_drivers:
|
* uninit_drivers:
|
||||||
* @flags : Bitmask of drivers to deinitialize.
|
* @flags : Bitmask of drivers to deinitialize.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user