Add setting 'Driver Switch Enable' - not hooked up yet

This commit is contained in:
twinaphex 2019-10-18 23:03:29 +02:00
parent 38600f4cf3
commit 73c853def4
9 changed files with 57 additions and 27 deletions

View File

@ -127,6 +127,8 @@
#define DEFAULT_PLAYLIST_ENTRY_RENAME true
#define DEFAULT_DRIVER_SWITCH_ENABLE true
#define DEFAULT_USER_LANGUAGE 0
#if (defined(_WIN32) && !defined(_XBOX)) || (defined(__linux) && !defined(ANDROID) && !defined(HAVE_LAKKA)) || (defined(__MACH__) && !defined(IOS)) || defined(EMSCRIPTEN)

View File

@ -1330,6 +1330,7 @@ static struct config_bool_setting *populate_settings_bool(settings_t *settings,
struct config_bool_setting *tmp = (struct config_bool_setting*)calloc(1, (*size + 1) * sizeof(struct config_bool_setting));
unsigned count = 0;
SETTING_BOOL("driver_switch_enable", &settings->bools.driver_switch_enable, true, DEFAULT_DRIVER_SWITCH_ENABLE, false);
SETTING_BOOL("frame_time_counter_reset_after_fastforwarding", &settings->bools.frame_time_counter_reset_after_fastforwarding, true, false, false);
SETTING_BOOL("frame_time_counter_reset_after_load_state", &settings->bools.frame_time_counter_reset_after_load_state, true, false, false);
SETTING_BOOL("frame_time_counter_reset_after_save_state", &settings->bools.frame_time_counter_reset_after_save_state, true, false, false);

View File

@ -303,6 +303,9 @@ typedef struct settings
bool bundle_finished;
bool bundle_assets_extract_enable;
/* Driver */
bool driver_switch_enable;
/* Misc. */
bool discord_enable;
bool threaded_data_runloop_enable;

View File

@ -2093,3 +2093,5 @@ MSG_HASH(MENU_ENUM_LABEL_DELETE_PLAYLIST,
MSG_HASH(MENU_ENUM_LABEL_LOCALAP_ENABLE,
"localap_enable")
#endif
MSG_HASH(MENU_ENUM_LABEL_DRIVER_SWITCH_ENABLE,
"driver_switch_enable")

View File

@ -9729,3 +9729,7 @@ MSG_HASH(MSG_LOCALAP_ERROR_CONFIG_CREATE,
MSG_HASH(MSG_LOCALAP_ERROR_CONFIG_PARSE,
"Wrong configuration file - could not find APNAME or PASSWORD in %s")
#endif
MSG_HASH(MENU_ENUM_LABEL_VALUE_DRIVER_SWITCH_ENABLE,
"Allow cores to switch the video driver")
MSG_HASH(MENU_ENUM_SUBLABEL_DRIVER_SWITCH_ENABLE,
"N/A")

View File

@ -217,6 +217,7 @@ default_sublabel_macro(action_bind_sublabel_config_save_on_exit, MENU_
default_sublabel_macro(action_bind_sublabel_configuration_settings_list, MENU_ENUM_SUBLABEL_CONFIGURATION_SETTINGS)
default_sublabel_macro(action_bind_sublabel_configurations_list_list, MENU_ENUM_SUBLABEL_CONFIGURATIONS_LIST)
default_sublabel_macro(action_bind_sublabel_video_shared_context, MENU_ENUM_SUBLABEL_VIDEO_SHARED_CONTEXT)
default_sublabel_macro(action_bind_sublabel_driver_switch_enable, MENU_ENUM_SUBLABEL_DRIVER_SWITCH_ENABLE)
default_sublabel_macro(action_bind_sublabel_audio_latency, MENU_ENUM_SUBLABEL_AUDIO_LATENCY)
default_sublabel_macro(action_bind_sublabel_audio_rate_control_delta, MENU_ENUM_SUBLABEL_AUDIO_RATE_CONTROL_DELTA)
default_sublabel_macro(action_bind_sublabel_audio_mute, MENU_ENUM_SUBLABEL_AUDIO_MUTE)
@ -2467,6 +2468,9 @@ int menu_cbs_init_bind_sublabel(menu_file_list_cbs_t *cbs,
case MENU_ENUM_LABEL_AUDIO_LATENCY:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_audio_latency);
break;
case MENU_ENUM_LABEL_DRIVER_SWITCH_ENABLE:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_driver_switch_enable);
break;
case MENU_ENUM_LABEL_VIDEO_SHARED_CONTEXT:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_video_shared_context);
break;

View File

@ -5225,6 +5225,7 @@ unsigned menu_displaylist_build_list(file_list_t *list, enum menu_displaylist_ct
{
menu_displaylist_build_info_t build_list[] = {
{MENU_ENUM_LABEL_VIDEO_SHARED_CONTEXT, PARSE_ONLY_BOOL},
{MENU_ENUM_LABEL_DRIVER_SWITCH_ENABLE, PARSE_ONLY_BOOL},
{MENU_ENUM_LABEL_DUMMY_ON_CORE_SHUTDOWN, PARSE_ONLY_BOOL},
{MENU_ENUM_LABEL_CHECK_FOR_MISSING_FIRMWARE, PARSE_ONLY_BOOL},
{MENU_ENUM_LABEL_VIDEO_ALLOW_ROTATE, PARSE_ONLY_BOOL},

View File

@ -7816,8 +7816,8 @@ static bool setting_append_list(
break;
case SETTINGS_LIST_CORE:
{
unsigned i;
struct bool_entry bool_entries[5];
unsigned i, listing = 0;
struct bool_entry bool_entries[6];
START_GROUP(list, list_info, &group_info,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_CORE_SETTINGS), parent_group);
@ -7830,35 +7830,47 @@ static bool setting_append_list(
START_SUB_GROUP(list, list_info, "State", &group_info, &subgroup_info,
parent_group);
bool_entries[0].target = &settings->bools.video_shared_context;
bool_entries[0].name_enum_idx = MENU_ENUM_LABEL_VIDEO_SHARED_CONTEXT;
bool_entries[0].SHORT_enum_idx = MENU_ENUM_LABEL_VALUE_VIDEO_SHARED_CONTEXT;
bool_entries[0].default_value = DEFAULT_VIDEO_SHARED_CONTEXT;
bool_entries[0].flags = SD_FLAG_ADVANCED;
bool_entries[listing].target = &settings->bools.video_shared_context;
bool_entries[listing].name_enum_idx = MENU_ENUM_LABEL_VIDEO_SHARED_CONTEXT;
bool_entries[listing].SHORT_enum_idx = MENU_ENUM_LABEL_VALUE_VIDEO_SHARED_CONTEXT;
bool_entries[listing].default_value = DEFAULT_VIDEO_SHARED_CONTEXT;
bool_entries[listing].flags = SD_FLAG_ADVANCED;
listing++;
bool_entries[1].target = &settings->bools.load_dummy_on_core_shutdown;
bool_entries[1].name_enum_idx = MENU_ENUM_LABEL_DUMMY_ON_CORE_SHUTDOWN;
bool_entries[1].SHORT_enum_idx = MENU_ENUM_LABEL_VALUE_DUMMY_ON_CORE_SHUTDOWN;
bool_entries[1].default_value = DEFAULT_LOAD_DUMMY_ON_CORE_SHUTDOWN;
bool_entries[1].flags = SD_FLAG_ADVANCED;
bool_entries[listing].target = &settings->bools.driver_switch_enable;
bool_entries[listing].name_enum_idx = MENU_ENUM_LABEL_DRIVER_SWITCH_ENABLE;
bool_entries[listing].SHORT_enum_idx = MENU_ENUM_LABEL_VALUE_DRIVER_SWITCH_ENABLE;
bool_entries[listing].default_value = DEFAULT_DRIVER_SWITCH_ENABLE;
bool_entries[listing].flags = SD_FLAG_ADVANCED;
listing++;
bool_entries[2].target = &settings->bools.set_supports_no_game_enable;
bool_entries[2].name_enum_idx = MENU_ENUM_LABEL_CORE_SET_SUPPORTS_NO_CONTENT_ENABLE;
bool_entries[2].SHORT_enum_idx = MENU_ENUM_LABEL_VALUE_CORE_SET_SUPPORTS_NO_CONTENT_ENABLE;
bool_entries[2].default_value = true;
bool_entries[2].flags = SD_FLAG_ADVANCED;
bool_entries[listing].target = &settings->bools.load_dummy_on_core_shutdown;
bool_entries[listing].name_enum_idx = MENU_ENUM_LABEL_DUMMY_ON_CORE_SHUTDOWN;
bool_entries[listing].SHORT_enum_idx = MENU_ENUM_LABEL_VALUE_DUMMY_ON_CORE_SHUTDOWN;
bool_entries[listing].default_value = DEFAULT_LOAD_DUMMY_ON_CORE_SHUTDOWN;
bool_entries[listing].flags = SD_FLAG_ADVANCED;
listing++;
bool_entries[3].target = &settings->bools.check_firmware_before_loading;
bool_entries[3].name_enum_idx = MENU_ENUM_LABEL_CHECK_FOR_MISSING_FIRMWARE;
bool_entries[3].SHORT_enum_idx = MENU_ENUM_LABEL_VALUE_CHECK_FOR_MISSING_FIRMWARE;
bool_entries[3].default_value = true;
bool_entries[3].flags = SD_FLAG_ADVANCED;
bool_entries[listing].target = &settings->bools.set_supports_no_game_enable;
bool_entries[listing].name_enum_idx = MENU_ENUM_LABEL_CORE_SET_SUPPORTS_NO_CONTENT_ENABLE;
bool_entries[listing].SHORT_enum_idx = MENU_ENUM_LABEL_VALUE_CORE_SET_SUPPORTS_NO_CONTENT_ENABLE;
bool_entries[listing].default_value = true;
bool_entries[listing].flags = SD_FLAG_ADVANCED;
listing++;
bool_entries[4].target = &settings->bools.video_allow_rotate;
bool_entries[4].name_enum_idx = MENU_ENUM_LABEL_VIDEO_ALLOW_ROTATE;
bool_entries[4].SHORT_enum_idx = MENU_ENUM_LABEL_VALUE_VIDEO_ALLOW_ROTATE;
bool_entries[4].default_value = DEFAULT_ALLOW_ROTATE;
bool_entries[4].flags = SD_FLAG_ADVANCED;
bool_entries[listing].target = &settings->bools.check_firmware_before_loading;
bool_entries[listing].name_enum_idx = MENU_ENUM_LABEL_CHECK_FOR_MISSING_FIRMWARE;
bool_entries[listing].SHORT_enum_idx = MENU_ENUM_LABEL_VALUE_CHECK_FOR_MISSING_FIRMWARE;
bool_entries[listing].default_value = true;
bool_entries[listing].flags = SD_FLAG_ADVANCED;
listing++;
bool_entries[listing].target = &settings->bools.video_allow_rotate;
bool_entries[listing].name_enum_idx = MENU_ENUM_LABEL_VIDEO_ALLOW_ROTATE;
bool_entries[listing].SHORT_enum_idx = MENU_ENUM_LABEL_VALUE_VIDEO_ALLOW_ROTATE;
bool_entries[listing].default_value = DEFAULT_ALLOW_ROTATE;
bool_entries[listing].flags = SD_FLAG_ADVANCED;
listing++;
for (i = 0; i < ARRAY_SIZE(bool_entries); i++)
{

View File

@ -866,6 +866,7 @@ enum msg_hash_enums
MENU_LABEL(VIDEO_GAMMA),
MENU_LABEL(VIDEO_ALLOW_ROTATE),
MENU_LABEL(VIDEO_SHARED_CONTEXT),
MENU_LABEL(DRIVER_SWITCH_ENABLE),
MENU_LABEL(VIDEO_THREADED),
MENU_LABEL(VIDEO_SWAP_INTERVAL),