summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlat9nq <lat9nq@virginia.edu>2020-07-14 19:36:09 +0200
committerlat9nq <lat9nq@virginia.edu>2020-07-14 19:36:09 +0200
commit6d1477f214199d8a59b8ab0eea161e16463e35bb (patch)
tree874ff82a255f281dcf2d6b0a69e1f4e81248b74e
parentmain: Set async gpu properly after loading per-game setting (diff)
downloadyuzu-6d1477f214199d8a59b8ab0eea161e16463e35bb.tar
yuzu-6d1477f214199d8a59b8ab0eea161e16463e35bb.tar.gz
yuzu-6d1477f214199d8a59b8ab0eea161e16463e35bb.tar.bz2
yuzu-6d1477f214199d8a59b8ab0eea161e16463e35bb.tar.lz
yuzu-6d1477f214199d8a59b8ab0eea161e16463e35bb.tar.xz
yuzu-6d1477f214199d8a59b8ab0eea161e16463e35bb.tar.zst
yuzu-6d1477f214199d8a59b8ab0eea161e16463e35bb.zip
-rw-r--r--src/core/settings.cpp6
-rw-r--r--src/core/settings.h3
-rw-r--r--src/yuzu/configuration/config.cpp2
-rw-r--r--src/yuzu/main.cpp4
4 files changed, 11 insertions, 4 deletions
diff --git a/src/core/settings.cpp b/src/core/settings.cpp
index d3886c4ec..38f0789a0 100644
--- a/src/core/settings.cpp
+++ b/src/core/settings.cpp
@@ -184,4 +184,10 @@ void RestoreGlobalState() {
values.sound_index.SetGlobal(true);
}
+void Sanitize() {
+ values.use_asynchronous_gpu_emulation.SetValue(
+ values.use_asynchronous_gpu_emulation.GetValue() ||
+ values.use_multi_core.GetValue());
+}
+
} // namespace Settings
diff --git a/src/core/settings.h b/src/core/settings.h
index 850ca4072..878840116 100644
--- a/src/core/settings.h
+++ b/src/core/settings.h
@@ -539,4 +539,7 @@ void LogSettings();
// Restore the global state of all applicable settings in the Values struct
void RestoreGlobalState();
+// Fixes settings that are known to cause issues with the emulator
+void Sanitize();
+
} // namespace Settings
diff --git a/src/yuzu/configuration/config.cpp b/src/yuzu/configuration/config.cpp
index 1b2b1b2bb..e586792bb 100644
--- a/src/yuzu/configuration/config.cpp
+++ b/src/yuzu/configuration/config.cpp
@@ -1342,11 +1342,13 @@ void Config::WriteSettingGlobal(const QString& name, const QVariant& value, bool
void Config::Reload() {
ReadValues();
+ Settings::Sanitize();
// To apply default value changes
SaveValues();
Settings::Apply();
}
void Config::Save() {
+ Settings::Sanitize();
SaveValues();
}
diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp
index 8f889be3a..432379705 100644
--- a/src/yuzu/main.cpp
+++ b/src/yuzu/main.cpp
@@ -1053,10 +1053,6 @@ void GMainWindow::BootGame(const QString& filename) {
if (!(loader == nullptr || loader->ReadProgramId(title_id) != Loader::ResultStatus::Success)) {
// Load per game settings
Config per_game_config(fmt::format("{:016X}.ini", title_id), false);
-
- Settings::values.use_asynchronous_gpu_emulation.SetValue(
- Settings::values.use_asynchronous_gpu_emulation.GetValue() ||
- Settings::values.use_multi_core.GetValue());
}
Settings::LogSettings();