Reorder settings pt.2

This commit is contained in:
lynxnb 2023-02-23 13:01:04 +01:00 committed by Niccolò Betto
parent ddfa9013a9
commit b2228a93da
8 changed files with 114 additions and 119 deletions

View File

@ -269,7 +269,7 @@ class EmulationActivity : AppCompatActivity(), SurfaceHolder.Callback, View.OnTo
} }
) )
if (appSettings.perfStats) { if (emulationSettings.perfStats) {
if (emulationSettings.disableFrameThrottling) if (emulationSettings.disableFrameThrottling)
binding.perfStats.setTextColor(getColor(R.color.colorPerfStatsSecondary)) binding.perfStats.setTextColor(getColor(R.color.colorPerfStatsSecondary))

View File

@ -34,6 +34,6 @@ class DocumentsProviderPreference @JvmOverloads constructor(context : Context, a
override fun onClick() { override fun onClick() {
if (launchOpenIntent(Intent.ACTION_VIEW) or launchOpenIntent("android.provider.action.BROWSE")) if (launchOpenIntent(Intent.ACTION_VIEW) or launchOpenIntent("android.provider.action.BROWSE"))
return return
Snackbar.make((context as SettingsActivity).binding.root, SkylineR.string.failed_open_directory, Snackbar.LENGTH_SHORT).show() Snackbar.make((context as SettingsActivity).binding.root, SkylineR.string.open_data_directory_failed, Snackbar.LENGTH_SHORT).show()
} }
} }

View File

@ -16,15 +16,15 @@ import javax.inject.Singleton
*/ */
@Singleton @Singleton
class AppSettings @Inject constructor(@ApplicationContext private val context : Context) { class AppSettings @Inject constructor(@ApplicationContext private val context : Context) {
// Emulator // Content
var searchLocation by sharedPreferences(context, "") var searchLocation by sharedPreferences(context, "")
// Appearance
var appTheme by sharedPreferences(context, 2) var appTheme by sharedPreferences(context, 2)
var layoutType by sharedPreferences(context, 1) var layoutType by sharedPreferences(context, 1)
var groupByFormat by sharedPreferences(context, true)
var sortAppsBy by sharedPreferences(context, 0) var sortAppsBy by sharedPreferences(context, 0)
var groupByFormat by sharedPreferences(context, true)
var selectAction by sharedPreferences(context, false) var selectAction by sharedPreferences(context, false)
var perfStats by sharedPreferences(context, false)
var logLevel by sharedPreferences(context, 3)
// Input // Input
var onScreenControl by sharedPreferences(context, true) var onScreenControl by sharedPreferences(context, true)
@ -34,4 +34,5 @@ class AppSettings @Inject constructor(@ApplicationContext private val context :
// Other // Other
var romFormatFilter by sharedPreferences(context, 0) var romFormatFilter by sharedPreferences(context, 0)
var refreshRequired by sharedPreferences(context, false) var refreshRequired by sharedPreferences(context, false)
var logLevel by sharedPreferences(context, 3)
} }

View File

@ -28,30 +28,31 @@ class EmulationSettings private constructor(context : Context, prefName : String
var systemLanguage by sharedPreferences(context, 1, prefName = prefName) var systemLanguage by sharedPreferences(context, 1, prefName = prefName)
var systemRegion by sharedPreferences(context, -1, prefName = prefName) var systemRegion by sharedPreferences(context, -1, prefName = prefName)
// Audio
var isAudioOutputDisabled by sharedPreferences(context, false, prefName = prefName)
// Display // Display
var forceTripleBuffering by sharedPreferences(context, true, prefName = prefName) var perfStats by sharedPreferences(context, false, prefName = prefName)
var disableFrameThrottling by sharedPreferences(context, false, prefName = prefName)
var maxRefreshRate by sharedPreferences(context, false, prefName = prefName) var maxRefreshRate by sharedPreferences(context, false, prefName = prefName)
var aspectRatio by sharedPreferences(context, 0, prefName = prefName)
var orientation by sharedPreferences(context, ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE, prefName = prefName) var orientation by sharedPreferences(context, ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE, prefName = prefName)
var aspectRatio by sharedPreferences(context, 0, prefName = prefName)
var respectDisplayCutout by sharedPreferences(context, false, prefName = prefName) var respectDisplayCutout by sharedPreferences(context, false, prefName = prefName)
var disableShaderCache by sharedPreferences(context, false, prefName = prefName)
// GPU // GPU
var gpuDriver by sharedPreferences(context, SYSTEM_GPU_DRIVER, prefName = prefName) var gpuDriver by sharedPreferences(context, SYSTEM_GPU_DRIVER, prefName = prefName)
var forceTripleBuffering by sharedPreferences(context, true, prefName = prefName)
var disableFrameThrottling by sharedPreferences(context, false, prefName = prefName)
var executorSlotCountScale by sharedPreferences(context, 6, prefName = prefName) var executorSlotCountScale by sharedPreferences(context, 6, prefName = prefName)
var executorFlushThreshold by sharedPreferences(context, 256, prefName = prefName) var executorFlushThreshold by sharedPreferences(context, 256, prefName = prefName)
var useDirectMemoryImport by sharedPreferences(context, false, prefName = prefName) var useDirectMemoryImport by sharedPreferences(context, false, prefName = prefName)
var forceMaxGpuClocks by sharedPreferences(context, false, prefName = prefName) var forceMaxGpuClocks by sharedPreferences(context, false, prefName = prefName)
var disableShaderCache by sharedPreferences(context, false, prefName = prefName)
// Hacks // Hacks
var enableFastGpuReadbackHack by sharedPreferences(context, false, prefName = prefName) var enableFastGpuReadbackHack by sharedPreferences(context, false, prefName = prefName)
var enableFastReadbackWrites by sharedPreferences(context, false, prefName = prefName) var enableFastReadbackWrites by sharedPreferences(context, false, prefName = prefName)
var disableSubgroupShuffle by sharedPreferences(context, false, prefName = prefName) var disableSubgroupShuffle by sharedPreferences(context, false, prefName = prefName)
// Audio
var isAudioOutputDisabled by sharedPreferences(context, false, prefName = prefName)
// Debug // Debug
var validationLayer by sharedPreferences(context, false, prefName = prefName) var validationLayer by sharedPreferences(context, false, prefName = prefName)

View File

@ -23,27 +23,25 @@ data class NativeSettings(
var systemLanguage : Int, var systemLanguage : Int,
var systemRegion : Int, var systemRegion : Int,
// Display // Audio
var forceTripleBuffering : Boolean, var isAudioOutputDisabled : Boolean,
var disableFrameThrottling : Boolean,
var disableShaderCache : Boolean,
// GPU // GPU
var gpuDriver : String, var gpuDriver : String,
var gpuDriverLibraryName : String, var gpuDriverLibraryName : String,
var forceTripleBuffering : Boolean,
var disableFrameThrottling : Boolean,
var executorSlotCountScale : Int, var executorSlotCountScale : Int,
var executorFlushThreshold : Int, var executorFlushThreshold : Int,
var useDirectMemoryImport : Boolean, var useDirectMemoryImport : Boolean,
var forceMaxGpuClocks : Boolean, var forceMaxGpuClocks : Boolean,
var disableShaderCache : Boolean,
// Hacks // Hacks
var enableFastGpuReadbackHack : Boolean, var enableFastGpuReadbackHack : Boolean,
var enableFastReadbackWrites : Boolean, var enableFastReadbackWrites : Boolean,
var disableSubgroupShuffle : Boolean, var disableSubgroupShuffle : Boolean,
// Audio
var isAudioOutputDisabled : Boolean,
// Debug // Debug
var validationLayer : Boolean var validationLayer : Boolean
) { ) {
@ -53,19 +51,19 @@ data class NativeSettings(
pref.profilePictureValue, pref.profilePictureValue,
pref.systemLanguage, pref.systemLanguage,
pref.systemRegion, pref.systemRegion,
pref.forceTripleBuffering, pref.isAudioOutputDisabled,
pref.disableFrameThrottling,
pref.disableShaderCache,
if (pref.gpuDriver == EmulationSettings.SYSTEM_GPU_DRIVER) "" else pref.gpuDriver, if (pref.gpuDriver == EmulationSettings.SYSTEM_GPU_DRIVER) "" else pref.gpuDriver,
if (pref.gpuDriver == EmulationSettings.SYSTEM_GPU_DRIVER) "" else GpuDriverHelper.getLibraryName(context, pref.gpuDriver), if (pref.gpuDriver == EmulationSettings.SYSTEM_GPU_DRIVER) "" else GpuDriverHelper.getLibraryName(context, pref.gpuDriver),
pref.forceTripleBuffering,
pref.disableFrameThrottling,
pref.executorSlotCountScale, pref.executorSlotCountScale,
pref.executorFlushThreshold, pref.executorFlushThreshold,
pref.useDirectMemoryImport, pref.useDirectMemoryImport,
pref.forceMaxGpuClocks, pref.forceMaxGpuClocks,
pref.disableShaderCache,
pref.enableFastGpuReadbackHack, pref.enableFastGpuReadbackHack,
pref.enableFastReadbackWrites, pref.enableFastReadbackWrites,
pref.disableSubgroupShuffle, pref.disableSubgroupShuffle,
pref.isAudioOutputDisabled,
BuildConfig.BUILD_TYPE != "release" && pref.validationLayer BuildConfig.BUILD_TYPE != "release" && pref.validationLayer
) )

View File

@ -4,6 +4,7 @@
<string name="search">Search</string> <string name="search">Search</string>
<string name="error">An error has occurred</string> <string name="error">An error has occurred</string>
<string name="copied_to_clipboard">Copied to clipboard</string> <string name="copied_to_clipboard">Copied to clipboard</string>
<string name="emulator">Emulator</string>
<!-- Toolbar Main --> <!-- Toolbar Main -->
<string name="settings">Settings</string> <string name="settings">Settings</string>
<string name="share_logs">Share Logs</string> <string name="share_logs">Share Logs</string>
@ -22,24 +23,29 @@
<string name="invalid_file">Invalid file</string> <string name="invalid_file">Invalid file</string>
<string name="missing_title_key">Missing title key</string> <string name="missing_title_key">Missing title key</string>
<string name="incomplete_prod_keys">Incomplete production keys</string> <string name="incomplete_prod_keys">Incomplete production keys</string>
<!-- Settings - Emulator --> <!-- Settings - Content -->
<string name="emulator">Emulator</string> <string name="content">Content</string>
<string name="open_data_directory">View Internal Directory</string> <string name="open_data_directory">View Internal Directory</string>
<string name="open_data_directory_summary">Opens Skyline\'s internal directory in a file manager</string> <string name="open_data_directory_summary">Opens Skyline\'s internal directory in a file manager</string>
<string name="failed_open_directory">Cannot find an external file manager to open Skyline\'s internal directory</string> <string name="open_data_directory_failed">Cannot find an external file manager to open Skyline\'s internal directory</string>
<string name="theme">Theme</string>
<string name="perf_stats">Show Performance Statistics</string>
<string name="perf_stats_desc_off">Performance Statistics will not be shown</string>
<string name="perf_stats_desc_on">Performance Statistics will be shown in the top-left corner</string>
<string name="log_level">Log Level</string>
<!-- Settings - App List -->
<string name="app_list">App List</string>
<string name="search_location">Search Location</string> <string name="search_location">Search Location</string>
<!-- Settings - Keys -->
<string name="keys">Keys</string>
<string name="prod_keys">Production Keys</string>
<string name="title_keys">Title Keys</string>
<string name="import_keys_success">Successfully imported keys</string>
<string name="import_keys_invalid_input_path">The path to the provided keys is invalid</string>
<string name="import_keys_invalid_keys">The keys you tried to import are invalid</string>
<string name="import_keys_delete_previous_failed">Failed to delete the currently installed keys</string>
<string name="import_keys_move_failed">Failed to move the keys to the internal directory</string>
<!-- Settings - Appearance -->
<string name="appearance">Appearance</string>
<string name="theme">Theme</string>
<string name="layout_type">Game Display Layout</string> <string name="layout_type">Game Display Layout</string>
<string name="sort_apps_by">Games Sorting Order</string>
<string name="group_by_format">Group Games By Format</string> <string name="group_by_format">Group Games By Format</string>
<string name="group_by_format_desc_off">Games will be shown as a single list</string> <string name="group_by_format_desc_off">Games will be shown as a single list</string>
<string name="group_by_format_desc_on">Games will be shown grouped by format</string> <string name="group_by_format_desc_on">Games will be shown grouped by format</string>
<string name="sort_apps_by">Games Sorting Order</string>
<string name="select_action">Always Show Game Information</string> <string name="select_action">Always Show Game Information</string>
<string name="select_action_desc_on">Game information will be shown on clicking a game</string> <string name="select_action_desc_on">Game information will be shown on clicking a game</string>
<string name="select_action_desc_off">Game information will only be shown on long-clicking a game</string> <string name="select_action_desc_off">Game information will only be shown on long-clicking a game</string>
@ -61,36 +67,35 @@
<string name="profile_picture">Profile picture</string> <string name="profile_picture">Profile picture</string>
<string name="system_language">System language</string> <string name="system_language">System language</string>
<string name="system_region">System region</string> <string name="system_region">System region</string>
<!-- Settings - Keys -->
<string name="keys">Keys</string>
<string name="prod_keys">Production Keys</string>
<string name="title_keys">Title Keys</string>
<string name="import_keys_success">Successfully imported keys</string>
<string name="import_keys_invalid_input_path">The path to the provided keys is invalid</string>
<string name="import_keys_invalid_keys">The keys you tried to import are invalid</string>
<string name="import_keys_delete_previous_failed">Failed to delete the currently installed keys</string>
<string name="import_keys_move_failed">Failed to move the keys to the internal directory</string>
<!-- Settings - Display --> <!-- Settings - Display -->
<string name="display">Display</string> <string name="display">Display</string>
<string name="perf_stats">Show Performance Statistics</string>
<string name="perf_stats_desc_off">Performance Statistics will not be shown</string>
<string name="perf_stats_desc_on">Performance Statistics will be shown in the top-left corner</string>
<string name="max_refresh_rate">Use Maximum Display Refresh Rate</string>
<string name="max_refresh_rate_enabled">Sets the display refresh rate as high as possible (Will break most games)</string>
<string name="max_refresh_rate_disabled">Sets the display refresh rate to 60Hz</string>
<string name="screen_orientation">Screen orientation</string> <string name="screen_orientation">Screen orientation</string>
<string name="aspect_ratio">Aspect Ratio</string>
<string name="respect_display_cutout">Respect Display Cutout</string>
<string name="respect_display_cutout_enabled">Do not draw UI elements in the cutout area</string>
<string name="respect_display_cutout_disabled">Allow UI elements to be drawn in the cutout area</string>
<!-- Settings - Audio -->
<string name="audio">Audio</string>
<string name="disable_audio_output">Disable Audio Output</string>
<string name="disable_audio_output_enabled">Audio output is disabled</string>
<string name="disable_audio_output_disabled">Audio output is enabled</string>
<!-- Settings - GPU -->
<string name="gpu">GPU</string>
<string name="gpu_driver_config">GPU Driver Configuration</string>
<string name="gpu_driver_config_desc">Active driver: %1$s</string>
<string name="gpu_driver_config_desc_unsupported">Your device doesn\'t support custom drivers</string>
<string name="force_triple_buffering">Force Triple Buffering</string> <string name="force_triple_buffering">Force Triple Buffering</string>
<string name="triple_buffering_enabled">Utilize at least three swapchain buffers (Higher FPS but more input lag)</string> <string name="triple_buffering_enabled">Utilize at least three swapchain buffers (Higher FPS but more input lag)</string>
<string name="triple_buffering_disabled">Utilize at least two swapchain buffers (Lower FPS but less input lag)</string> <string name="triple_buffering_disabled">Utilize at least two swapchain buffers (Lower FPS but less input lag)</string>
<string name="disable_frame_throttling">Disable Frame Throttling</string> <string name="disable_frame_throttling">Disable Frame Throttling</string>
<string name="disable_frame_throttling_enabled">Game is allowed to submit frames as fast as possible (Only for benchmarking)\n\n<b>Note:</b> An alternative method is utilized to measure the FPS with this enabled, the figures must not be compared to throttled FPS figures</string> <string name="disable_frame_throttling_enabled">Game is allowed to submit frames as fast as possible (Only for benchmarking)\n\n<b>Note:</b> An alternative method is utilized to measure the FPS with this enabled, the figures must not be compared to throttled FPS figures</string>
<string name="disable_frame_throttling_disabled">Only allow the game to submit frames at the display refresh rate</string> <string name="disable_frame_throttling_disabled">Only allow the game to submit frames at the display refresh rate</string>
<string name="max_refresh_rate">Use Maximum Display Refresh Rate</string>
<string name="max_refresh_rate_enabled">Sets the display refresh rate as high as possible (Will break most games)</string>
<string name="max_refresh_rate_disabled">Sets the display refresh rate to 60Hz</string>
<string name="aspect_ratio">Aspect Ratio</string>
<string name="respect_display_cutout">Respect Display Cutout</string>
<string name="respect_display_cutout_enabled">Do not draw UI elements in the cutout area</string>
<string name="respect_display_cutout_disabled">Allow UI elements to be drawn in the cutout area</string>
<!-- Settings - GPU -->
<string name="gpu">GPU</string>
<string name="gpu_driver_config">GPU Driver Configuration</string>
<string name="gpu_driver_config_desc">Active driver: %1$s</string>
<string name="gpu_driver_config_desc_unsupported">Your device doesn\'t support custom drivers</string>
<string name="executor_slot_count_scale">Executor Slot Count Scale</string> <string name="executor_slot_count_scale">Executor Slot Count Scale</string>
<string name="executor_slot_count_scale_desc">Scale controlling the maximum number of simultaneous GPU executions (Higher may sometimes perform better but will use more RAM)</string> <string name="executor_slot_count_scale_desc">Scale controlling the maximum number of simultaneous GPU executions (Higher may sometimes perform better but will use more RAM)</string>
<string name="executor_flush_threshold">Executor Flush Threshold</string> <string name="executor_flush_threshold">Executor Flush Threshold</string>
@ -114,13 +119,9 @@
<string name="disable_subgroup_shuffle">Disable GPU subgroup shuffle</string> <string name="disable_subgroup_shuffle">Disable GPU subgroup shuffle</string>
<string name="disable_subgroup_shuffle_enabled">Shader subgroup shuffle operations are disabled, may cause severe graphical issues</string> <string name="disable_subgroup_shuffle_enabled">Shader subgroup shuffle operations are disabled, may cause severe graphical issues</string>
<string name="disable_subgroup_shuffle_disabled">Shader subgroup shuffle operations are enabled, ensures maximum accuracy</string> <string name="disable_subgroup_shuffle_disabled">Shader subgroup shuffle operations are enabled, ensures maximum accuracy</string>
<!-- Settings - Audio -->
<string name="audio">Audio</string>
<string name="disable_audio_output">Disable Audio Output</string>
<string name="disable_audio_output_enabled">Audio output is disabled</string>
<string name="disable_audio_output_disabled">Audio output is enabled</string>
<!-- Settings - Debug --> <!-- Settings - Debug -->
<string name="debug">Debug</string> <string name="debug">Debug</string>
<string name="log_level">Log Level</string>
<string name="validation_layer">Enable validation layer</string> <string name="validation_layer">Enable validation layer</string>
<string name="validation_layer_enabled">The Vulkan validation layer is enabled, major slowdowns are to be expected</string> <string name="validation_layer_enabled">The Vulkan validation layer is enabled, major slowdowns are to be expected</string>
<string name="validation_layer_disabled">The Vulkan validation layer is disabled</string> <string name="validation_layer_disabled">The Vulkan validation layer is disabled</string>

View File

@ -1,38 +1,33 @@
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" <androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"> xmlns:app="http://schemas.android.com/apk/res-auto">
<PreferenceCategory <PreferenceCategory
android:key="category_emulator" android:key="category_content"
android:title="@string/emulator"> android:title="@string/content">
<emu.skyline.preference.DocumentsProviderPreference <emu.skyline.preference.DocumentsProviderPreference
app:key="document_provider" app:key="document_provider"
app:summary="@string/open_data_directory_summary" app:summary="@string/open_data_directory_summary"
app:title="@string/open_data_directory" /> app:title="@string/open_data_directory" />
<emu.skyline.preference.FolderPickerPreference
app:key="search_location"
app:title="@string/search_location" />
<emu.skyline.preference.KeyPickerPreference
app:key="prod_keys"
app:title="@string/prod_keys"
app:useSimpleSummaryProvider="true" />
<emu.skyline.preference.KeyPickerPreference
app:key="title_keys"
app:title="@string/title_keys"
app:useSimpleSummaryProvider="true" />
</PreferenceCategory>
<PreferenceCategory
android:key="category_appearance"
android:title="@string/appearance">
<emu.skyline.preference.ThemePreference <emu.skyline.preference.ThemePreference
android:defaultValue="2" android:defaultValue="2"
android:entries="@array/app_theme" android:entries="@array/app_theme"
app:key="app_theme" app:key="app_theme"
app:title="@string/theme" app:title="@string/theme"
app:useSimpleSummaryProvider="true" /> app:useSimpleSummaryProvider="true" />
<CheckBoxPreference
android:defaultValue="false"
android:summaryOff="@string/perf_stats_desc_off"
android:summaryOn="@string/perf_stats_desc_on"
app:key="perf_stats"
app:title="@string/perf_stats" />
<emu.skyline.preference.LogLevelPreference
android:defaultValue="2"
android:entries="@array/log_level"
app:key="log_level"
app:title="@string/log_level"
app:useSimpleSummaryProvider="true" />
</PreferenceCategory>
<PreferenceCategory
android:key="category_applist"
android:title="@string/app_list"
app:initialExpandedChildrenCount="3">
<emu.skyline.preference.FolderPickerPreference
app:key="search_location"
app:title="@string/search_location" />
<emu.skyline.preference.IntegerListPreference <emu.skyline.preference.IntegerListPreference
android:defaultValue="1" android:defaultValue="1"
android:entries="@array/layout_type" android:entries="@array/layout_type"
@ -60,16 +55,4 @@
app:key="select_action" app:key="select_action"
app:title="@string/select_action" /> app:title="@string/select_action" />
</PreferenceCategory> </PreferenceCategory>
<PreferenceCategory
android:key="category_keys"
android:title="@string/keys">
<emu.skyline.preference.KeyPickerPreference
app:key="prod_keys"
app:title="@string/prod_keys"
app:useSimpleSummaryProvider="true" />
<emu.skyline.preference.KeyPickerPreference
app:key="title_keys"
app:title="@string/title_keys"
app:useSimpleSummaryProvider="true" />
</PreferenceCategory>
</androidx.preference.PreferenceScreen> </androidx.preference.PreferenceScreen>

View File

@ -36,6 +36,18 @@
<PreferenceCategory <PreferenceCategory
android:key="category_presentation" android:key="category_presentation"
android:title="@string/display"> android:title="@string/display">
<CheckBoxPreference
android:defaultValue="false"
android:summaryOff="@string/perf_stats_desc_off"
android:summaryOn="@string/perf_stats_desc_on"
app:key="perf_stats"
app:title="@string/perf_stats" />
<CheckBoxPreference
android:defaultValue="false"
android:summaryOff="@string/max_refresh_rate_disabled"
android:summaryOn="@string/max_refresh_rate_enabled"
app:key="max_refresh_rate"
app:title="@string/max_refresh_rate" />
<emu.skyline.preference.IntegerListPreference <emu.skyline.preference.IntegerListPreference
android:defaultValue="6" android:defaultValue="6"
android:entries="@array/orientation_entries" android:entries="@array/orientation_entries"
@ -55,6 +67,23 @@
android:summaryOn="@string/respect_display_cutout_enabled" android:summaryOn="@string/respect_display_cutout_enabled"
app:key="respect_display_cutout" app:key="respect_display_cutout"
app:title="@string/respect_display_cutout" /> app:title="@string/respect_display_cutout" />
</PreferenceCategory>
<PreferenceCategory
android:key="category_audio"
android:title="@string/audio">
<CheckBoxPreference
android:defaultValue="false"
android:summaryOff="@string/disable_audio_output_disabled"
android:summaryOn="@string/disable_audio_output_enabled"
app:key="is_audio_output_disabled"
app:title="@string/disable_audio_output" />
</PreferenceCategory>
<PreferenceCategory
android:key="category_gpu"
android:title="@string/gpu">
<emu.skyline.preference.GpuDriverPreference
app:key="gpu_driver"
app:title="@string/gpu_driver_config" />
<CheckBoxPreference <CheckBoxPreference
android:defaultValue="true" android:defaultValue="true"
android:summaryOff="@string/triple_buffering_disabled" android:summaryOff="@string/triple_buffering_disabled"
@ -68,19 +97,6 @@
android:summaryOn="@string/disable_frame_throttling_enabled" android:summaryOn="@string/disable_frame_throttling_enabled"
app:key="disable_frame_throttling" app:key="disable_frame_throttling"
app:title="@string/disable_frame_throttling" /> app:title="@string/disable_frame_throttling" />
<CheckBoxPreference
android:defaultValue="false"
android:summaryOff="@string/max_refresh_rate_disabled"
android:summaryOn="@string/max_refresh_rate_enabled"
app:key="max_refresh_rate"
app:title="@string/max_refresh_rate" />
</PreferenceCategory>
<PreferenceCategory
android:key="category_gpu"
android:title="@string/gpu">
<emu.skyline.preference.GpuDriverPreference
app:key="gpu_driver"
app:title="@string/gpu_driver_config" />
<SeekBarPreference <SeekBarPreference
android:defaultValue="4" android:defaultValue="4"
android:max="6" android:max="6"
@ -137,21 +153,16 @@
app:key="disable_subgroup_shuffle" app:key="disable_subgroup_shuffle"
app:title="@string/disable_subgroup_shuffle" /> app:title="@string/disable_subgroup_shuffle" />
</PreferenceCategory> </PreferenceCategory>
<PreferenceCategory
android:key="category_audio"
android:title="@string/audio"
app:isPreferenceVisible="true">
<CheckBoxPreference
android:defaultValue="false"
android:summaryOff="@string/disable_audio_output_disabled"
android:summaryOn="@string/disable_audio_output_enabled"
app:key="is_audio_output_disabled"
app:title="@string/disable_audio_output" />
</PreferenceCategory>
<PreferenceCategory <PreferenceCategory
android:key="category_debug" android:key="category_debug"
android:title="@string/debug" android:title="@string/debug"
app:isPreferenceVisible="false"> app:isPreferenceVisible="false">
<emu.skyline.preference.LogLevelPreference
android:defaultValue="2"
android:entries="@array/log_level"
app:key="log_level"
app:title="@string/log_level"
app:useSimpleSummaryProvider="true" />
<CheckBoxPreference <CheckBoxPreference
android:defaultValue="false" android:defaultValue="false"
android:summaryOff="@string/validation_layer_disabled" android:summaryOff="@string/validation_layer_disabled"