summaryrefslogtreecommitdiffstats
path: root/src/core/settings.h
diff options
context:
space:
mode:
authorFernando Sahmkow <fsahmkow27@gmail.com>2020-02-18 21:51:42 +0100
committerFernando Sahmkow <fsahmkow27@gmail.com>2020-04-22 17:36:04 +0200
commit084ceb925acad470b69467d64e4dfbb3bd7ef3f1 (patch)
tree3e4dcc3a3671b85cb3ac5f812159974c006e3c47 /src/core/settings.h
parentMerge pull request #3714 from lioncash/copies (diff)
downloadyuzu-084ceb925acad470b69467d64e4dfbb3bd7ef3f1.tar
yuzu-084ceb925acad470b69467d64e4dfbb3bd7ef3f1.tar.gz
yuzu-084ceb925acad470b69467d64e4dfbb3bd7ef3f1.tar.bz2
yuzu-084ceb925acad470b69467d64e4dfbb3bd7ef3f1.tar.lz
yuzu-084ceb925acad470b69467d64e4dfbb3bd7ef3f1.tar.xz
yuzu-084ceb925acad470b69467d64e4dfbb3bd7ef3f1.tar.zst
yuzu-084ceb925acad470b69467d64e4dfbb3bd7ef3f1.zip
Diffstat (limited to '')
-rw-r--r--src/core/settings.h16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/core/settings.h b/src/core/settings.h
index c73d1c596..b54a0d4ea 100644
--- a/src/core/settings.h
+++ b/src/core/settings.h
@@ -376,6 +376,12 @@ enum class RendererBackend {
Vulkan = 1,
};
+enum class GPUAccuracy : u32 {
+ Normal = 0,
+ High = 1,
+ Extreme = 2,
+};
+
struct Values {
// System
bool use_docked_mode;
@@ -436,7 +442,7 @@ struct Values {
bool use_frame_limit;
u16 frame_limit;
bool use_disk_shader_cache;
- bool use_accurate_gpu_emulation;
+ GPUAccuracy gpu_accuracy;
bool use_asynchronous_gpu_emulation;
bool use_vsync;
bool force_30fps_mode;
@@ -480,6 +486,14 @@ struct Values {
std::map<u64, std::vector<std::string>> disabled_addons;
} extern values;
+constexpr bool IsGPULevelExtreme() {
+ return values.gpu_accuracy == GPUAccuracy::Extreme;
+}
+
+constexpr bool IsGPULevelHigh() {
+ return values.gpu_accuracy == GPUAccuracy::Extreme || values.gpu_accuracy == GPUAccuracy::High;
+}
+
void Apply();
void LogSettings();
} // namespace Settings