summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/core/settings.cpp5
-rw-r--r--src/core/settings.h3
-rw-r--r--src/yuzu/configuration/config.cpp2
3 files changed, 10 insertions, 0 deletions
diff --git a/src/core/settings.cpp b/src/core/settings.cpp
index d3886c4ec..64a3c69d3 100644
--- a/src/core/settings.cpp
+++ b/src/core/settings.cpp
@@ -184,4 +184,9 @@ void RestoreGlobalState() {
184 values.sound_index.SetGlobal(true); 184 values.sound_index.SetGlobal(true);
185} 185}
186 186
187void Sanitize() {
188 values.use_asynchronous_gpu_emulation.SetValue(
189 values.use_asynchronous_gpu_emulation.GetValue() || values.use_multi_core.GetValue());
190}
191
187} // namespace Settings 192} // namespace Settings
diff --git a/src/core/settings.h b/src/core/settings.h
index 3eb336f75..a64debd25 100644
--- a/src/core/settings.h
+++ b/src/core/settings.h
@@ -526,4 +526,7 @@ void LogSettings();
526// Restore the global state of all applicable settings in the Values struct 526// Restore the global state of all applicable settings in the Values struct
527void RestoreGlobalState(); 527void RestoreGlobalState();
528 528
529// Fixes settings that are known to cause issues with the emulator
530void Sanitize();
531
529} // namespace Settings 532} // namespace Settings
diff --git a/src/yuzu/configuration/config.cpp b/src/yuzu/configuration/config.cpp
index 9e9b38214..d25b99a32 100644
--- a/src/yuzu/configuration/config.cpp
+++ b/src/yuzu/configuration/config.cpp
@@ -1368,11 +1368,13 @@ void Config::WriteSettingGlobal(const QString& name, const QVariant& value, bool
1368 1368
1369void Config::Reload() { 1369void Config::Reload() {
1370 ReadValues(); 1370 ReadValues();
1371 Settings::Sanitize();
1371 // To apply default value changes 1372 // To apply default value changes
1372 SaveValues(); 1373 SaveValues();
1373 Settings::Apply(); 1374 Settings::Apply();
1374} 1375}
1375 1376
1376void Config::Save() { 1377void Config::Save() {
1378 Settings::Sanitize();
1377 SaveValues(); 1379 SaveValues();
1378} 1380}