summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/core/settings.h1
-rw-r--r--src/core/telemetry_session.cpp2
-rw-r--r--src/yuzu/configuration/config.cpp3
-rw-r--r--src/yuzu/configuration/configure_graphics.cpp2
-rw-r--r--src/yuzu/configuration/configure_graphics.ui7
-rw-r--r--src/yuzu_cmd/config.cpp2
-rw-r--r--src/yuzu_cmd/default_ini.h4
7 files changed, 21 insertions, 0 deletions
diff --git a/src/core/settings.h b/src/core/settings.h
index a7f1e5fa0..7150d9755 100644
--- a/src/core/settings.h
+++ b/src/core/settings.h
@@ -129,6 +129,7 @@ struct Values {
129 // Renderer 129 // Renderer
130 float resolution_factor; 130 float resolution_factor;
131 bool toggle_framelimit; 131 bool toggle_framelimit;
132 bool use_accurate_framebuffers;
132 133
133 float bg_red; 134 float bg_red;
134 float bg_green; 135 float bg_green;
diff --git a/src/core/telemetry_session.cpp b/src/core/telemetry_session.cpp
index a60aa1143..270d68222 100644
--- a/src/core/telemetry_session.cpp
+++ b/src/core/telemetry_session.cpp
@@ -161,6 +161,8 @@ TelemetrySession::TelemetrySession() {
161 Settings::values.resolution_factor); 161 Settings::values.resolution_factor);
162 AddField(Telemetry::FieldType::UserConfig, "Renderer_ToggleFramelimit", 162 AddField(Telemetry::FieldType::UserConfig, "Renderer_ToggleFramelimit",
163 Settings::values.toggle_framelimit); 163 Settings::values.toggle_framelimit);
164 AddField(Telemetry::FieldType::UserConfig, "Renderer_UseAccurateFramebuffers",
165 Settings::values.use_accurate_framebuffers);
164 AddField(Telemetry::FieldType::UserConfig, "System_UseDockedMode", 166 AddField(Telemetry::FieldType::UserConfig, "System_UseDockedMode",
165 Settings::values.use_docked_mode); 167 Settings::values.use_docked_mode);
166} 168}
diff --git a/src/yuzu/configuration/config.cpp b/src/yuzu/configuration/config.cpp
index 8316db708..cd7986efa 100644
--- a/src/yuzu/configuration/config.cpp
+++ b/src/yuzu/configuration/config.cpp
@@ -84,6 +84,8 @@ void Config::ReadValues() {
84 qt_config->beginGroup("Renderer"); 84 qt_config->beginGroup("Renderer");
85 Settings::values.resolution_factor = qt_config->value("resolution_factor", 1.0).toFloat(); 85 Settings::values.resolution_factor = qt_config->value("resolution_factor", 1.0).toFloat();
86 Settings::values.toggle_framelimit = qt_config->value("toggle_framelimit", true).toBool(); 86 Settings::values.toggle_framelimit = qt_config->value("toggle_framelimit", true).toBool();
87 Settings::values.use_accurate_framebuffers =
88 qt_config->value("use_accurate_framebuffers", false).toBool();
87 89
88 Settings::values.bg_red = qt_config->value("bg_red", 0.0).toFloat(); 90 Settings::values.bg_red = qt_config->value("bg_red", 0.0).toFloat();
89 Settings::values.bg_green = qt_config->value("bg_green", 0.0).toFloat(); 91 Settings::values.bg_green = qt_config->value("bg_green", 0.0).toFloat();
@@ -184,6 +186,7 @@ void Config::SaveValues() {
184 qt_config->beginGroup("Renderer"); 186 qt_config->beginGroup("Renderer");
185 qt_config->setValue("resolution_factor", (double)Settings::values.resolution_factor); 187 qt_config->setValue("resolution_factor", (double)Settings::values.resolution_factor);
186 qt_config->setValue("toggle_framelimit", Settings::values.toggle_framelimit); 188 qt_config->setValue("toggle_framelimit", Settings::values.toggle_framelimit);
189 qt_config->setValue("use_accurate_framebuffers", Settings::values.use_accurate_framebuffers);
187 190
188 // Cast to double because Qt's written float values are not human-readable 191 // Cast to double because Qt's written float values are not human-readable
189 qt_config->setValue("bg_red", (double)Settings::values.bg_red); 192 qt_config->setValue("bg_red", (double)Settings::values.bg_red);
diff --git a/src/yuzu/configuration/configure_graphics.cpp b/src/yuzu/configuration/configure_graphics.cpp
index 47b9b6e95..7664880d5 100644
--- a/src/yuzu/configuration/configure_graphics.cpp
+++ b/src/yuzu/configuration/configure_graphics.cpp
@@ -59,11 +59,13 @@ void ConfigureGraphics::setConfiguration() {
59 ui->resolution_factor_combobox->setCurrentIndex( 59 ui->resolution_factor_combobox->setCurrentIndex(
60 static_cast<int>(FromResolutionFactor(Settings::values.resolution_factor))); 60 static_cast<int>(FromResolutionFactor(Settings::values.resolution_factor)));
61 ui->toggle_framelimit->setChecked(Settings::values.toggle_framelimit); 61 ui->toggle_framelimit->setChecked(Settings::values.toggle_framelimit);
62 ui->use_accurate_framebuffers->setChecked(Settings::values.use_accurate_framebuffers);
62} 63}
63 64
64void ConfigureGraphics::applyConfiguration() { 65void ConfigureGraphics::applyConfiguration() {
65 Settings::values.resolution_factor = 66 Settings::values.resolution_factor =
66 ToResolutionFactor(static_cast<Resolution>(ui->resolution_factor_combobox->currentIndex())); 67 ToResolutionFactor(static_cast<Resolution>(ui->resolution_factor_combobox->currentIndex()));
67 Settings::values.toggle_framelimit = ui->toggle_framelimit->isChecked(); 68 Settings::values.toggle_framelimit = ui->toggle_framelimit->isChecked();
69 Settings::values.use_accurate_framebuffers = ui->use_accurate_framebuffers->isChecked();
68 Settings::Apply(); 70 Settings::Apply();
69} 71}
diff --git a/src/yuzu/configuration/configure_graphics.ui b/src/yuzu/configuration/configure_graphics.ui
index 366931a9a..7d092df03 100644
--- a/src/yuzu/configuration/configure_graphics.ui
+++ b/src/yuzu/configuration/configure_graphics.ui
@@ -30,6 +30,13 @@
30 </widget> 30 </widget>
31 </item> 31 </item>
32 <item> 32 <item>
33 <widget class="QCheckBox" name="use_accurate_framebuffers">
34 <property name="text">
35 <string>Use accurate framebuffers (slow)</string>
36 </property>
37 </widget>
38 </item>
39 <item>
33 <layout class="QHBoxLayout" name="horizontalLayout"> 40 <layout class="QHBoxLayout" name="horizontalLayout">
34 <item> 41 <item>
35 <widget class="QLabel" name="label"> 42 <widget class="QLabel" name="label">
diff --git a/src/yuzu_cmd/config.cpp b/src/yuzu_cmd/config.cpp
index ee6e4d658..150915c17 100644
--- a/src/yuzu_cmd/config.cpp
+++ b/src/yuzu_cmd/config.cpp
@@ -98,6 +98,8 @@ void Config::ReadValues() {
98 (float)sdl2_config->GetReal("Renderer", "resolution_factor", 1.0); 98 (float)sdl2_config->GetReal("Renderer", "resolution_factor", 1.0);
99 Settings::values.toggle_framelimit = 99 Settings::values.toggle_framelimit =
100 sdl2_config->GetBoolean("Renderer", "toggle_framelimit", true); 100 sdl2_config->GetBoolean("Renderer", "toggle_framelimit", true);
101 Settings::values.use_accurate_framebuffers =
102 sdl2_config->GetBoolean("Renderer", "use_accurate_framebuffers", false);
101 103
102 Settings::values.bg_red = (float)sdl2_config->GetReal("Renderer", "bg_red", 0.0); 104 Settings::values.bg_red = (float)sdl2_config->GetReal("Renderer", "bg_red", 0.0);
103 Settings::values.bg_green = (float)sdl2_config->GetReal("Renderer", "bg_green", 0.0); 105 Settings::values.bg_green = (float)sdl2_config->GetReal("Renderer", "bg_green", 0.0);
diff --git a/src/yuzu_cmd/default_ini.h b/src/yuzu_cmd/default_ini.h
index 1c438c3f5..5896971d4 100644
--- a/src/yuzu_cmd/default_ini.h
+++ b/src/yuzu_cmd/default_ini.h
@@ -102,6 +102,10 @@ resolution_factor =
102# 0 (default): Off, 1: On 102# 0 (default): Off, 1: On
103use_vsync = 103use_vsync =
104 104
105# Whether to use accurate framebuffers
106# 0 (default): Off (fast), 1 : On (slow)
107use_accurate_framebuffers =
108
105# The clear color for the renderer. What shows up on the sides of the bottom screen. 109# The clear color for the renderer. What shows up on the sides of the bottom screen.
106# Must be in range of 0.0-1.0. Defaults to 1.0 for all. 110# Must be in range of 0.0-1.0. Defaults to 1.0 for all.
107bg_red = 111bg_red =