Various savestate bugfixes

This commit is contained in:
PabloMK7
2025-03-12 00:05:39 +01:00
parent 26ce7e4f28
commit db168cfac4
52 changed files with 318 additions and 69 deletions

View File

@@ -1,4 +1,4 @@
// Copyright 2023 Citra Emulator Project
// Copyright Citra Emulator Project / Azahar Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
@@ -15,7 +15,9 @@ enum class BooleanSetting(
ALLOW_PLUGIN_LOADER("allow_plugin_loader", Settings.SECTION_SYSTEM, true),
SWAP_SCREEN("swap_screen", Settings.SECTION_LAYOUT, false),
INSTANT_DEBUG_LOG("instant_debug_log", Settings.SECTION_DEBUG, false),
CUSTOM_LAYOUT("custom_layout",Settings.SECTION_LAYOUT,false);
CUSTOM_LAYOUT("custom_layout",Settings.SECTION_LAYOUT,false),
DELAY_START_LLE_MODULES("delay_start_for_lle_modules", Settings.SECTION_DEBUG, true),
DETERMINISTIC_ASYNC_OPERATIONS("deterministic_async_operations", Settings.SECTION_DEBUG, false);
override var boolean: Boolean = defaultValue
@@ -36,7 +38,9 @@ enum class BooleanSetting(
private val NOT_RUNTIME_EDITABLE = listOf(
PLUGIN_LOADER,
ALLOW_PLUGIN_LOADER,
ASYNC_SHADERS
ASYNC_SHADERS,
DELAY_START_LLE_MODULES,
DETERMINISTIC_ASYNC_OPERATIONS,
)
fun from(key: String): BooleanSetting? =

View File

@@ -1360,6 +1360,25 @@ class SettingsFragmentPresenter(private val fragmentView: SettingsFragmentView)
BooleanSetting.INSTANT_DEBUG_LOG.defaultValue
)
)
add(
SwitchSetting(
BooleanSetting.DELAY_START_LLE_MODULES,
R.string.delay_start_lle_modules,
R.string.delay_start_lle_modules_desc,
BooleanSetting.DELAY_START_LLE_MODULES.key,
BooleanSetting.DELAY_START_LLE_MODULES.defaultValue
)
)
add(
SwitchSetting(
BooleanSetting.DETERMINISTIC_ASYNC_OPERATIONS,
R.string.deterministic_async_operations,
R.string.deterministic_async_operations_desc,
BooleanSetting.DETERMINISTIC_ASYNC_OPERATIONS.key,
BooleanSetting.DETERMINISTIC_ASYNC_OPERATIONS.defaultValue
)
)
}
}

View File

@@ -1,4 +1,4 @@
// Copyright 2014 Citra Emulator Project
// Copyright Citra Emulator Project / Azahar Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
@@ -413,6 +413,15 @@ gdbstub_port=24689
# Immediately commits the debug log to file. Use this if Azahar crashes and the log output is being cut.
instant_debug_log =
# Delay the start of apps when LLE modules are enabled
# 0: Off, 1 (default): On
delay_start_for_lle_modules =
# Force deterministic async operations
# Only needed for debugging, makes performance worse if enabled
# 0: Off (default), 1: On
deterministic_async_operations =
# To LLE a service module add "LLE\<module name>=true"
[WebService]

View File

@@ -781,5 +781,9 @@
<string name="instant_debug_log_desc">Immediately commits the debug log to file. Use this if Azahar crashes and the log output is being cut.</string>
<string name="disable_right_eye_render">Disable Right Eye Render</string>
<string name="disable_right_eye_render_description">Greatly improves performance in some applications, but can cause flickering in others.</string>
<string name="delay_start_lle_modules">Delay start with LLE modules</string>
<string name="delay_start_lle_modules_desc">Delays the start of the app when LLE modules are enabled</string>
<string name="deterministic_async_operations">Deterministic Async Operations</string>
<string name="deterministic_async_operations_desc">Makes async operations deterministic for debugging. Enabling this may cause freezes.</string>
</resources>