summaryrefslogtreecommitdiff
path: root/src/common/settings.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/settings.cpp')
-rw-r--r--src/common/settings.cpp53
1 files changed, 52 insertions, 1 deletions
diff --git a/src/common/settings.cpp b/src/common/settings.cpp
index 9dd5e3efb..3bcaa072f 100644
--- a/src/common/settings.cpp
+++ b/src/common/settings.cpp
@@ -47,7 +47,9 @@ void LogSettings() {
47 log_setting("System_TimeZoneIndex", values.time_zone_index.GetValue()); 47 log_setting("System_TimeZoneIndex", values.time_zone_index.GetValue());
48 log_setting("Core_UseMultiCore", values.use_multi_core.GetValue()); 48 log_setting("Core_UseMultiCore", values.use_multi_core.GetValue());
49 log_setting("CPU_Accuracy", values.cpu_accuracy.GetValue()); 49 log_setting("CPU_Accuracy", values.cpu_accuracy.GetValue());
50 log_setting("Renderer_UseResolutionFactor", values.resolution_factor.GetValue()); 50 log_setting("Renderer_UseResolutionScaling", values.resolution_setup.GetValue());
51 log_setting("Renderer_ScalingFilter", values.scaling_filter.GetValue());
52 log_setting("Renderer_AntiAliasing", values.anti_aliasing.GetValue());
51 log_setting("Renderer_UseSpeedLimit", values.use_speed_limit.GetValue()); 53 log_setting("Renderer_UseSpeedLimit", values.use_speed_limit.GetValue());
52 log_setting("Renderer_SpeedLimit", values.speed_limit.GetValue()); 54 log_setting("Renderer_SpeedLimit", values.speed_limit.GetValue());
53 log_setting("Renderer_UseDiskShaderCache", values.use_disk_shader_cache.GetValue()); 55 log_setting("Renderer_UseDiskShaderCache", values.use_disk_shader_cache.GetValue());
@@ -105,6 +107,55 @@ float Volume() {
105 return values.volume.GetValue() / 100.0f; 107 return values.volume.GetValue() / 100.0f;
106} 108}
107 109
110void UpdateRescalingInfo() {
111 const auto setup = values.resolution_setup.GetValue();
112 auto& info = values.resolution_info;
113 info.downscale = false;
114 switch (setup) {
115 case ResolutionSetup::Res1_2X:
116 info.up_scale = 1;
117 info.down_shift = 1;
118 info.downscale = true;
119 break;
120 case ResolutionSetup::Res3_4X:
121 info.up_scale = 3;
122 info.down_shift = 2;
123 info.downscale = true;
124 break;
125 case ResolutionSetup::Res1X:
126 info.up_scale = 1;
127 info.down_shift = 0;
128 break;
129 case ResolutionSetup::Res2X:
130 info.up_scale = 2;
131 info.down_shift = 0;
132 break;
133 case ResolutionSetup::Res3X:
134 info.up_scale = 3;
135 info.down_shift = 0;
136 break;
137 case ResolutionSetup::Res4X:
138 info.up_scale = 4;
139 info.down_shift = 0;
140 break;
141 case ResolutionSetup::Res5X:
142 info.up_scale = 5;
143 info.down_shift = 0;
144 break;
145 case ResolutionSetup::Res6X:
146 info.up_scale = 6;
147 info.down_shift = 0;
148 break;
149 default:
150 UNREACHABLE();
151 info.up_scale = 1;
152 info.down_shift = 0;
153 }
154 info.up_factor = static_cast<f32>(info.up_scale) / (1U << info.down_shift);
155 info.down_factor = static_cast<f32>(1U << info.down_shift) / info.up_scale;
156 info.active = info.up_scale != 1 || info.down_shift != 0;
157}
158
108void RestoreGlobalState(bool is_powered_on) { 159void RestoreGlobalState(bool is_powered_on) {
109 // If a game is running, DO NOT restore the global settings state 160 // If a game is running, DO NOT restore the global settings state
110 if (is_powered_on) { 161 if (is_powered_on) {