mirror of
https://github.com/CTCaer/RetroArch.git
synced 2025-02-28 15:46:22 +00:00
Create driver mask enums
This commit is contained in:
parent
6e28aa30bb
commit
f751199860
@ -2195,7 +2195,7 @@ bool command_event(enum event_command cmd, void *data)
|
|||||||
break;
|
break;
|
||||||
case CMD_EVENT_AUDIO_REINIT:
|
case CMD_EVENT_AUDIO_REINIT:
|
||||||
{
|
{
|
||||||
int flags = DRIVER_AUDIO;
|
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);
|
driver_ctl(RARCH_DRIVER_CTL_INIT, &flags);
|
||||||
}
|
}
|
||||||
|
42
driver.c
42
driver.c
@ -293,17 +293,17 @@ static bool driver_update_system_av_info(const struct retro_system_av_info *info
|
|||||||
**/
|
**/
|
||||||
static void init_drivers(int flags)
|
static void init_drivers(int flags)
|
||||||
{
|
{
|
||||||
if (flags & DRIVER_VIDEO)
|
if (flags & DRIVER_VIDEO_MASK)
|
||||||
video_driver_unset_own_driver();
|
video_driver_unset_own_driver();
|
||||||
if (flags & DRIVER_AUDIO)
|
if (flags & DRIVER_AUDIO_MASK)
|
||||||
audio_driver_unset_own_driver();
|
audio_driver_unset_own_driver();
|
||||||
if (flags & DRIVER_INPUT)
|
if (flags & DRIVER_INPUT_MASK)
|
||||||
input_driver_unset_own_driver();
|
input_driver_unset_own_driver();
|
||||||
if (flags & DRIVER_CAMERA)
|
if (flags & DRIVER_CAMERA_MASK)
|
||||||
camera_driver_ctl(RARCH_CAMERA_CTL_UNSET_OWN_DRIVER, NULL);
|
camera_driver_ctl(RARCH_CAMERA_CTL_UNSET_OWN_DRIVER, NULL);
|
||||||
if (flags & DRIVER_LOCATION)
|
if (flags & DRIVER_LOCATION_MASK)
|
||||||
location_driver_ctl(RARCH_LOCATION_CTL_UNSET_OWN_DRIVER, NULL);
|
location_driver_ctl(RARCH_LOCATION_CTL_UNSET_OWN_DRIVER, NULL);
|
||||||
if (flags & DRIVER_WIFI)
|
if (flags & DRIVER_WIFI_MASK)
|
||||||
wifi_driver_ctl(RARCH_WIFI_CTL_UNSET_OWN_DRIVER, NULL);
|
wifi_driver_ctl(RARCH_WIFI_CTL_UNSET_OWN_DRIVER, NULL);
|
||||||
|
|
||||||
#ifdef HAVE_MENU
|
#ifdef HAVE_MENU
|
||||||
@ -311,10 +311,10 @@ static void init_drivers(int flags)
|
|||||||
menu_driver_ctl(RARCH_MENU_CTL_SET_OWN_DRIVER, NULL);
|
menu_driver_ctl(RARCH_MENU_CTL_SET_OWN_DRIVER, NULL);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (flags & (DRIVER_VIDEO | DRIVER_AUDIO))
|
if (flags & (DRIVER_VIDEO_MASK | DRIVER_AUDIO_MASK))
|
||||||
driver_adjust_system_rates();
|
driver_adjust_system_rates();
|
||||||
|
|
||||||
if (flags & DRIVER_VIDEO)
|
if (flags & DRIVER_VIDEO_MASK)
|
||||||
{
|
{
|
||||||
struct retro_hw_render_callback *hwr =
|
struct retro_hw_render_callback *hwr =
|
||||||
video_driver_get_hw_context();
|
video_driver_get_hw_context();
|
||||||
@ -330,29 +330,29 @@ static void init_drivers(int flags)
|
|||||||
runloop_ctl(RUNLOOP_CTL_SET_FRAME_TIME_LAST, NULL);
|
runloop_ctl(RUNLOOP_CTL_SET_FRAME_TIME_LAST, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (flags & DRIVER_AUDIO)
|
if (flags & DRIVER_AUDIO_MASK)
|
||||||
{
|
{
|
||||||
audio_driver_init();
|
audio_driver_init();
|
||||||
audio_driver_new_devices_list();
|
audio_driver_new_devices_list();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Only initialize camera driver if we're ever going to use it. */
|
/* Only initialize camera driver if we're ever going to use it. */
|
||||||
if ((flags & DRIVER_CAMERA) && camera_driver_ctl(RARCH_CAMERA_CTL_IS_ACTIVE, NULL))
|
if ((flags & DRIVER_CAMERA_MASK) && camera_driver_ctl(RARCH_CAMERA_CTL_IS_ACTIVE, NULL))
|
||||||
camera_driver_ctl(RARCH_CAMERA_CTL_INIT, NULL);
|
camera_driver_ctl(RARCH_CAMERA_CTL_INIT, NULL);
|
||||||
|
|
||||||
/* Only initialize location driver if we're ever going to use it. */
|
/* Only initialize location driver if we're ever going to use it. */
|
||||||
if ((flags & DRIVER_LOCATION) && location_driver_ctl(RARCH_LOCATION_CTL_IS_ACTIVE, NULL))
|
if ((flags & DRIVER_LOCATION_MASK) && location_driver_ctl(RARCH_LOCATION_CTL_IS_ACTIVE, NULL))
|
||||||
init_location();
|
init_location();
|
||||||
|
|
||||||
#ifdef HAVE_MENU
|
#ifdef HAVE_MENU
|
||||||
if (flags & DRIVER_MENU)
|
if (flags & DRIVER_MENU_MASK)
|
||||||
{
|
{
|
||||||
menu_driver_ctl(RARCH_MENU_CTL_INIT, NULL);
|
menu_driver_ctl(RARCH_MENU_CTL_INIT, NULL);
|
||||||
menu_driver_ctl(RARCH_MENU_CTL_CONTEXT_RESET, NULL);
|
menu_driver_ctl(RARCH_MENU_CTL_CONTEXT_RESET, NULL);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (flags & (DRIVER_VIDEO | DRIVER_AUDIO))
|
if (flags & (DRIVER_VIDEO_MASK | DRIVER_AUDIO_MASK))
|
||||||
{
|
{
|
||||||
/* Keep non-throttled state as good as possible. */
|
/* Keep non-throttled state as good as possible. */
|
||||||
if (input_driver_is_nonblock_state())
|
if (input_driver_is_nonblock_state())
|
||||||
@ -388,32 +388,32 @@ static void init_drivers(int flags)
|
|||||||
static void uninit_drivers(int flags)
|
static void uninit_drivers(int flags)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_MENU
|
#ifdef HAVE_MENU
|
||||||
if (flags & DRIVER_MENU)
|
if (flags & DRIVER_MENU_MASK)
|
||||||
menu_driver_ctl(RARCH_MENU_CTL_DEINIT, NULL);
|
menu_driver_ctl(RARCH_MENU_CTL_DEINIT, NULL);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if ((flags & DRIVER_LOCATION) && !location_driver_ctl(RARCH_LOCATION_CTL_OWNS_DRIVER, NULL))
|
if ((flags & DRIVER_LOCATION_MASK) && !location_driver_ctl(RARCH_LOCATION_CTL_OWNS_DRIVER, NULL))
|
||||||
location_driver_ctl(RARCH_LOCATION_CTL_DEINIT, NULL);
|
location_driver_ctl(RARCH_LOCATION_CTL_DEINIT, NULL);
|
||||||
|
|
||||||
if ((flags & DRIVER_CAMERA) && !camera_driver_ctl(RARCH_CAMERA_CTL_OWNS_DRIVER, NULL))
|
if ((flags & DRIVER_CAMERA_MASK) && !camera_driver_ctl(RARCH_CAMERA_CTL_OWNS_DRIVER, NULL))
|
||||||
camera_driver_ctl(RARCH_CAMERA_CTL_DEINIT, NULL);
|
camera_driver_ctl(RARCH_CAMERA_CTL_DEINIT, NULL);
|
||||||
|
|
||||||
if (flags & DRIVER_AUDIO)
|
if (flags & DRIVER_AUDIO_MASK)
|
||||||
audio_driver_deinit();
|
audio_driver_deinit();
|
||||||
|
|
||||||
if ((flags & DRIVER_WIFI) && !wifi_driver_ctl(RARCH_WIFI_CTL_OWNS_DRIVER, NULL))
|
if ((flags & DRIVER_WIFI_MASK) && !wifi_driver_ctl(RARCH_WIFI_CTL_OWNS_DRIVER, NULL))
|
||||||
wifi_driver_ctl(RARCH_WIFI_CTL_DEINIT, NULL);
|
wifi_driver_ctl(RARCH_WIFI_CTL_DEINIT, NULL);
|
||||||
|
|
||||||
if (flags & DRIVERS_VIDEO_INPUT)
|
if (flags & DRIVERS_VIDEO_INPUT)
|
||||||
video_driver_deinit();
|
video_driver_deinit();
|
||||||
|
|
||||||
if ((flags & DRIVER_VIDEO) && !video_driver_owns_driver())
|
if ((flags & DRIVER_VIDEO_MASK) && !video_driver_owns_driver())
|
||||||
video_driver_destroy_data();
|
video_driver_destroy_data();
|
||||||
|
|
||||||
if ((flags & DRIVER_INPUT) && !input_driver_owns_driver())
|
if ((flags & DRIVER_INPUT_MASK) && !input_driver_owns_driver())
|
||||||
input_driver_destroy_data();
|
input_driver_destroy_data();
|
||||||
|
|
||||||
if ((flags & DRIVER_AUDIO) && !audio_driver_owns_driver())
|
if ((flags & DRIVER_AUDIO_MASK) && !audio_driver_owns_driver())
|
||||||
audio_driver_destroy_data();
|
audio_driver_destroy_data();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
44
driver.h
44
driver.h
@ -27,25 +27,37 @@
|
|||||||
RETRO_BEGIN_DECLS
|
RETRO_BEGIN_DECLS
|
||||||
|
|
||||||
#define DRIVERS_CMD_ALL \
|
#define DRIVERS_CMD_ALL \
|
||||||
( DRIVER_AUDIO \
|
( DRIVER_AUDIO_MASK \
|
||||||
| DRIVER_VIDEO \
|
| DRIVER_VIDEO_MASK \
|
||||||
| DRIVER_INPUT \
|
| DRIVER_INPUT_MASK \
|
||||||
| DRIVER_CAMERA \
|
| DRIVER_CAMERA_MASK \
|
||||||
| DRIVER_LOCATION \
|
| DRIVER_LOCATION_MASK \
|
||||||
| DRIVER_MENU \
|
| DRIVER_MENU_MASK \
|
||||||
| DRIVERS_VIDEO_INPUT \
|
| DRIVERS_VIDEO_INPUT_MASK \
|
||||||
| DRIVER_WIFI )
|
| DRIVER_WIFI_MASK )
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
DRIVER_AUDIO = 1 << 0,
|
DRIVER_AUDIO = 0,
|
||||||
DRIVER_VIDEO = 1 << 1,
|
DRIVER_VIDEO,
|
||||||
DRIVER_INPUT = 1 << 2,
|
DRIVER_INPUT,
|
||||||
DRIVER_CAMERA = 1 << 3,
|
DRIVER_CAMERA,
|
||||||
DRIVER_LOCATION = 1 << 4,
|
DRIVER_LOCATION,
|
||||||
DRIVER_MENU = 1 << 5,
|
DRIVER_MENU,
|
||||||
DRIVERS_VIDEO_INPUT = 1 << 6,
|
DRIVERS_VIDEO_INPUT,
|
||||||
DRIVER_WIFI = 1 << 7
|
DRIVER_WIFI
|
||||||
|
};
|
||||||
|
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
DRIVER_AUDIO_MASK = 1 << DRIVER_AUDIO,
|
||||||
|
DRIVER_VIDEO_MASK = 1 << DRIVER_VIDEO,
|
||||||
|
DRIVER_INPUT_MASK = 1 << DRIVER_INPUT,
|
||||||
|
DRIVER_CAMERA_MASK = 1 << DRIVER_CAMERA,
|
||||||
|
DRIVER_LOCATION_MASK = 1 << DRIVER_LOCATION,
|
||||||
|
DRIVER_MENU_MASK = 1 << DRIVER_MENU,
|
||||||
|
DRIVERS_VIDEO_INPUT_MASK = 1 << DRIVERS_VIDEO_INPUT,
|
||||||
|
DRIVER_WIFI_MASK = 1 << DRIVER_WIFI
|
||||||
};
|
};
|
||||||
|
|
||||||
enum driver_ctl_state
|
enum driver_ctl_state
|
||||||
|
Loading…
x
Reference in New Issue
Block a user