summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar lat9nq2021-07-08 14:39:10 -0400
committerGravatar lat9nq2021-07-08 14:56:09 -0400
commitc8b8674ffc4225dce222bad702241afd640b9e86 (patch)
treedca9f69b560a2bc234188b9b606ab1c79b53e05f /src
parentarm_dynarmic{32,64}: Fixes from test build (diff)
downloadyuzu-c8b8674ffc4225dce222bad702241afd640b9e86.tar.gz
yuzu-c8b8674ffc4225dce222bad702241afd640b9e86.tar.xz
yuzu-c8b8674ffc4225dce222bad702241afd640b9e86.zip
settings, yuzu qt: Add migration code for CPU accuracy
Old CPU Accuracy setting won't translate well into since we're adding one at the beginning of the list. On first boot with the new setting, just use the default setting.
Diffstat (limited to '')
-rw-r--r--src/common/settings.h2
-rw-r--r--src/yuzu/configuration/config.cpp9
2 files changed, 10 insertions, 1 deletions
diff --git a/src/common/settings.h b/src/common/settings.h
index f9988c266..9f7e1096b 100644
--- a/src/common/settings.h
+++ b/src/common/settings.h
@@ -286,6 +286,8 @@ struct Values {
286 286
287 // Cpu 287 // Cpu
288 Setting<CPUAccuracy> cpu_accuracy{CPUAccuracy::Auto, "cpu_accuracy"}; 288 Setting<CPUAccuracy> cpu_accuracy{CPUAccuracy::Auto, "cpu_accuracy"};
289 // TODO: remove cpu_accuracy_first_time, migration setting added 8 July 2021
290 BasicSetting<bool> cpu_accuracy_first_time{true, "cpu_accuracy_first_time"};
289 291
290 BasicSetting<bool> cpuopt_page_tables{true, "cpuopt_page_tables"}; 292 BasicSetting<bool> cpuopt_page_tables{true, "cpuopt_page_tables"};
291 BasicSetting<bool> cpuopt_block_linking{true, "cpuopt_block_linking"}; 293 BasicSetting<bool> cpuopt_block_linking{true, "cpuopt_block_linking"};
diff --git a/src/yuzu/configuration/config.cpp b/src/yuzu/configuration/config.cpp
index 1a0f75373..1e77c1e51 100644
--- a/src/yuzu/configuration/config.cpp
+++ b/src/yuzu/configuration/config.cpp
@@ -793,7 +793,13 @@ void Config::ReadPathValues() {
793void Config::ReadCpuValues() { 793void Config::ReadCpuValues() {
794 qt_config->beginGroup(QStringLiteral("Cpu")); 794 qt_config->beginGroup(QStringLiteral("Cpu"));
795 795
796 ReadGlobalSetting(Settings::values.cpu_accuracy); 796 ReadBasicSetting(Settings::values.cpu_accuracy_first_time);
797 if (Settings::values.cpu_accuracy_first_time) {
798 Settings::values.cpu_accuracy.SetValue(Settings::values.cpu_accuracy.GetDefault());
799 Settings::values.cpu_accuracy_first_time.SetValue(false);
800 } else {
801 ReadGlobalSetting(Settings::values.cpu_accuracy);
802 }
797 803
798 ReadGlobalSetting(Settings::values.cpuopt_unsafe_unfuse_fma); 804 ReadGlobalSetting(Settings::values.cpuopt_unsafe_unfuse_fma);
799 ReadGlobalSetting(Settings::values.cpuopt_unsafe_reduce_fp_error); 805 ReadGlobalSetting(Settings::values.cpuopt_unsafe_reduce_fp_error);
@@ -1309,6 +1315,7 @@ void Config::SavePathValues() {
1309void Config::SaveCpuValues() { 1315void Config::SaveCpuValues() {
1310 qt_config->beginGroup(QStringLiteral("Cpu")); 1316 qt_config->beginGroup(QStringLiteral("Cpu"));
1311 1317
1318 WriteBasicSetting(Settings::values.cpu_accuracy_first_time);
1312 WriteSetting(QStringLiteral("cpu_accuracy"), 1319 WriteSetting(QStringLiteral("cpu_accuracy"),
1313 static_cast<u32>(Settings::values.cpu_accuracy.GetValue(global)), 1320 static_cast<u32>(Settings::values.cpu_accuracy.GetValue(global)),
1314 static_cast<u32>(Settings::values.cpu_accuracy.GetDefault()), 1321 static_cast<u32>(Settings::values.cpu_accuracy.GetDefault()),