summaryrefslogtreecommitdiff
path: root/src/common
diff options
context:
space:
mode:
Diffstat (limited to 'src/common')
-rw-r--r--src/common/settings.cpp1
-rw-r--r--src/common/settings.h18
2 files changed, 19 insertions, 0 deletions
diff --git a/src/common/settings.cpp b/src/common/settings.cpp
index 9dd5e3efb..8c6be2c84 100644
--- a/src/common/settings.cpp
+++ b/src/common/settings.cpp
@@ -47,6 +47,7 @@ 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_UseResolutionScaling", values.resolution_setup.GetValue());
50 log_setting("Renderer_UseResolutionFactor", values.resolution_factor.GetValue()); 51 log_setting("Renderer_UseResolutionFactor", values.resolution_factor.GetValue());
51 log_setting("Renderer_UseSpeedLimit", values.use_speed_limit.GetValue()); 52 log_setting("Renderer_UseSpeedLimit", values.use_speed_limit.GetValue());
52 log_setting("Renderer_SpeedLimit", values.speed_limit.GetValue()); 53 log_setting("Renderer_SpeedLimit", values.speed_limit.GetValue());
diff --git a/src/common/settings.h b/src/common/settings.h
index 9ff4cf85d..08f3da055 100644
--- a/src/common/settings.h
+++ b/src/common/settings.h
@@ -52,6 +52,22 @@ enum class NvdecEmulation : u32 {
52 GPU = 2, 52 GPU = 2,
53}; 53};
54 54
55enum class ResolutionSetup : u32 {
56 Res1_2X = 0,
57 Res3_4X = 1,
58 Res1X = 2,
59 Res3_2K = 3,
60 Res2X = 4,
61 Res3X = 5,
62};
63
64struct ResolutionScalingInfo {
65 u32 up_scale{2};
66 u32 down_shift{0};
67 f32 up_factor{2.0f};
68 f32 down_factor{0.5f};
69};
70
55/** The BasicSetting class is a simple resource manager. It defines a label and default value 71/** The BasicSetting class is a simple resource manager. It defines a label and default value
56 * alongside the actual value of the setting for simpler and less-error prone use with frontend 72 * alongside the actual value of the setting for simpler and less-error prone use with frontend
57 * configurations. Setting a default value and label is required, though subclasses may deviate from 73 * configurations. Setting a default value and label is required, though subclasses may deviate from
@@ -451,6 +467,8 @@ struct Values {
451 "disable_shader_loop_safety_checks"}; 467 "disable_shader_loop_safety_checks"};
452 Setting<int> vulkan_device{0, "vulkan_device"}; 468 Setting<int> vulkan_device{0, "vulkan_device"};
453 469
470 ResolutionScalingInfo resolution_info{};
471 Setting<ResolutionSetup> resolution_setup{ResolutionSetup::Res1X, "resolution_setup"};
454 Setting<u16> resolution_factor{1, "resolution_factor"}; 472 Setting<u16> resolution_factor{1, "resolution_factor"};
455 // *nix platforms may have issues with the borderless windowed fullscreen mode. 473 // *nix platforms may have issues with the borderless windowed fullscreen mode.
456 // Default to exclusive fullscreen on these platforms for now. 474 // Default to exclusive fullscreen on these platforms for now.