diff options
| author | 2023-11-17 22:03:42 +0200 | |
|---|---|---|
| committer | 2023-11-25 00:46:15 -0500 | |
| commit | 15331c2a6007656171275fcbb41f912c1297c358 (patch) | |
| tree | 4360bc9b25703cd97a8aca320e1adba8a61c356b /src | |
| parent | kernel: Manually specify aslr region start (diff) | |
| download | yuzu-15331c2a6007656171275fcbb41f912c1297c358.tar.gz yuzu-15331c2a6007656171275fcbb41f912c1297c358.tar.xz yuzu-15331c2a6007656171275fcbb41f912c1297c358.zip | |
settings: Add cpu backend setting
Diffstat (limited to 'src')
| -rw-r--r-- | src/common/settings.cpp | 5 | ||||
| -rw-r--r-- | src/common/settings.h | 10 | ||||
| -rw-r--r-- | src/common/settings_enums.h | 2 |
3 files changed, 17 insertions, 0 deletions
diff --git a/src/common/settings.cpp b/src/common/settings.cpp index a10131eb2..19dfe08da 100644 --- a/src/common/settings.cpp +++ b/src/common/settings.cpp | |||
| @@ -41,6 +41,7 @@ SWITCHABLE(AspectRatio, true); | |||
| 41 | SWITCHABLE(AstcDecodeMode, true); | 41 | SWITCHABLE(AstcDecodeMode, true); |
| 42 | SWITCHABLE(AstcRecompression, true); | 42 | SWITCHABLE(AstcRecompression, true); |
| 43 | SWITCHABLE(AudioMode, true); | 43 | SWITCHABLE(AudioMode, true); |
| 44 | SWITCHABLE(CpuBackend, true); | ||
| 44 | SWITCHABLE(CpuAccuracy, true); | 45 | SWITCHABLE(CpuAccuracy, true); |
| 45 | SWITCHABLE(FullscreenMode, true); | 46 | SWITCHABLE(FullscreenMode, true); |
| 46 | SWITCHABLE(GpuAccuracy, true); | 47 | SWITCHABLE(GpuAccuracy, true); |
| @@ -155,6 +156,10 @@ bool IsFastmemEnabled() { | |||
| 155 | return true; | 156 | return true; |
| 156 | } | 157 | } |
| 157 | 158 | ||
| 159 | bool IsNceEnabled(bool is_64bit) { | ||
| 160 | return values.cpu_backend.GetValue() == CpuBackend::Nce && is_64bit; | ||
| 161 | } | ||
| 162 | |||
| 158 | bool IsDockedMode() { | 163 | bool IsDockedMode() { |
| 159 | return values.use_docked_mode.GetValue() == Settings::ConsoleMode::Docked; | 164 | return values.use_docked_mode.GetValue() == Settings::ConsoleMode::Docked; |
| 160 | } | 165 | } |
diff --git a/src/common/settings.h b/src/common/settings.h index e75099b89..389c747cb 100644 --- a/src/common/settings.h +++ b/src/common/settings.h | |||
| @@ -63,6 +63,7 @@ SWITCHABLE(AspectRatio, true); | |||
| 63 | SWITCHABLE(AstcDecodeMode, true); | 63 | SWITCHABLE(AstcDecodeMode, true); |
| 64 | SWITCHABLE(AstcRecompression, true); | 64 | SWITCHABLE(AstcRecompression, true); |
| 65 | SWITCHABLE(AudioMode, true); | 65 | SWITCHABLE(AudioMode, true); |
| 66 | SWITCHABLE(CpuBackend, true); | ||
| 66 | SWITCHABLE(CpuAccuracy, true); | 67 | SWITCHABLE(CpuAccuracy, true); |
| 67 | SWITCHABLE(FullscreenMode, true); | 68 | SWITCHABLE(FullscreenMode, true); |
| 68 | SWITCHABLE(GpuAccuracy, true); | 69 | SWITCHABLE(GpuAccuracy, true); |
| @@ -179,6 +180,14 @@ struct Values { | |||
| 179 | &use_speed_limit}; | 180 | &use_speed_limit}; |
| 180 | 181 | ||
| 181 | // Cpu | 182 | // Cpu |
| 183 | SwitchableSetting<CpuBackend, true> cpu_backend{ | ||
| 184 | linkage, CpuBackend::Dynarmic, CpuBackend::Dynarmic, | ||
| 185 | #ifdef ARCHITECTURE_arm64 | ||
| 186 | CpuBackend::Nce, | ||
| 187 | #else | ||
| 188 | CpuBackend::Dynarmic, | ||
| 189 | #endif | ||
| 190 | "cpu_backend", Category::Cpu}; | ||
| 182 | SwitchableSetting<CpuAccuracy, true> cpu_accuracy{linkage, CpuAccuracy::Auto, | 191 | SwitchableSetting<CpuAccuracy, true> cpu_accuracy{linkage, CpuAccuracy::Auto, |
| 183 | CpuAccuracy::Auto, CpuAccuracy::Paranoid, | 192 | CpuAccuracy::Auto, CpuAccuracy::Paranoid, |
| 184 | "cpu_accuracy", Category::Cpu}; | 193 | "cpu_accuracy", Category::Cpu}; |
| @@ -564,6 +573,7 @@ bool IsGPULevelExtreme(); | |||
| 564 | bool IsGPULevelHigh(); | 573 | bool IsGPULevelHigh(); |
| 565 | 574 | ||
| 566 | bool IsFastmemEnabled(); | 575 | bool IsFastmemEnabled(); |
| 576 | bool IsNceEnabled(bool is_64bit = true); | ||
| 567 | 577 | ||
| 568 | bool IsDockedMode(); | 578 | bool IsDockedMode(); |
| 569 | 579 | ||
diff --git a/src/common/settings_enums.h b/src/common/settings_enums.h index 11429d7a8..d6351e57e 100644 --- a/src/common/settings_enums.h +++ b/src/common/settings_enums.h | |||
| @@ -129,6 +129,8 @@ ENUM(ShaderBackend, Glsl, Glasm, SpirV); | |||
| 129 | 129 | ||
| 130 | ENUM(GpuAccuracy, Normal, High, Extreme); | 130 | ENUM(GpuAccuracy, Normal, High, Extreme); |
| 131 | 131 | ||
| 132 | ENUM(CpuBackend, Dynarmic, Nce); | ||
| 133 | |||
| 132 | ENUM(CpuAccuracy, Auto, Accurate, Unsafe, Paranoid); | 134 | ENUM(CpuAccuracy, Auto, Accurate, Unsafe, Paranoid); |
| 133 | 135 | ||
| 134 | ENUM(MemoryLayout, Memory_4Gb, Memory_6Gb, Memory_8Gb); | 136 | ENUM(MemoryLayout, Memory_4Gb, Memory_6Gb, Memory_8Gb); |