aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorlat9nq <22451773+lat9nq@users.noreply.github.com>2021-07-08 14:39:10 -0400
committerlat9nq <22451773+lat9nq@users.noreply.github.com>2021-07-08 14:56:09 -0400
commitc8b8674ffc4225dce222bad702241afd640b9e86 (patch)
treedca9f69b560a2bc234188b9b606ab1c79b53e05f /src
parent87b6e14d7cbcac0c5b74355f7928a5c21f86b0ac (diff)
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 'src')
-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 f9988c2667..9f7e1096bc 100644
--- a/src/common/settings.h
+++ b/src/common/settings.h
@@ -286,6 +286,8 @@ struct Values {
// Cpu
Setting<CPUAccuracy> cpu_accuracy{CPUAccuracy::Auto, "cpu_accuracy"};
+ // TODO: remove cpu_accuracy_first_time, migration setting added 8 July 2021
+ BasicSetting<bool> cpu_accuracy_first_time{true, "cpu_accuracy_first_time"};
BasicSetting<bool> cpuopt_page_tables{true, "cpuopt_page_tables"};
BasicSetting<bool> cpuopt_block_linking{true, "cpuopt_block_linking"};
diff --git a/src/yuzu/configuration/config.cpp b/src/yuzu/configuration/config.cpp
index 1a0f75373d..1e77c1e514 100644
--- a/src/yuzu/configuration/config.cpp
+++ b/src/yuzu/configuration/config.cpp
@@ -793,7 +793,13 @@ void Config::ReadPathValues() {
void Config::ReadCpuValues() {
qt_config->beginGroup(QStringLiteral("Cpu"));
- ReadGlobalSetting(Settings::values.cpu_accuracy);
+ ReadBasicSetting(Settings::values.cpu_accuracy_first_time);
+ if (Settings::values.cpu_accuracy_first_time) {
+ Settings::values.cpu_accuracy.SetValue(Settings::values.cpu_accuracy.GetDefault());
+ Settings::values.cpu_accuracy_first_time.SetValue(false);
+ } else {
+ ReadGlobalSetting(Settings::values.cpu_accuracy);
+ }
ReadGlobalSetting(Settings::values.cpuopt_unsafe_unfuse_fma);
ReadGlobalSetting(Settings::values.cpuopt_unsafe_reduce_fp_error);
@@ -1309,6 +1315,7 @@ void Config::SavePathValues() {
void Config::SaveCpuValues() {
qt_config->beginGroup(QStringLiteral("Cpu"));
+ WriteBasicSetting(Settings::values.cpu_accuracy_first_time);
WriteSetting(QStringLiteral("cpu_accuracy"),
static_cast<u32>(Settings::values.cpu_accuracy.GetValue(global)),
static_cast<u32>(Settings::values.cpu_accuracy.GetDefault()),