diff options
Diffstat (limited to 'src/common')
| -rw-r--r-- | src/common/settings.cpp | 8 | ||||
| -rw-r--r-- | src/common/settings.h | 14 |
2 files changed, 16 insertions, 6 deletions
diff --git a/src/common/settings.cpp b/src/common/settings.cpp index 4666bd0a0..88f509ba7 100644 --- a/src/common/settings.cpp +++ b/src/common/settings.cpp | |||
| @@ -160,12 +160,16 @@ static bool is_nce_enabled = false; | |||
| 160 | 160 | ||
| 161 | void SetNceEnabled(bool is_39bit) { | 161 | void SetNceEnabled(bool is_39bit) { |
| 162 | const bool is_nce_selected = values.cpu_backend.GetValue() == CpuBackend::Nce; | 162 | const bool is_nce_selected = values.cpu_backend.GetValue() == CpuBackend::Nce; |
| 163 | is_nce_enabled = IsFastmemEnabled() && is_nce_selected && is_39bit; | 163 | if (is_nce_selected && !IsFastmemEnabled()) { |
| 164 | if (is_nce_selected && !is_nce_enabled) { | 164 | LOG_WARNING(Common, "Fastmem is required to natively execute code in a performant manner, " |
| 165 | "falling back to Dynarmic"); | ||
| 166 | } | ||
| 167 | if (is_nce_selected && !is_39bit) { | ||
| 165 | LOG_WARNING( | 168 | LOG_WARNING( |
| 166 | Common, | 169 | Common, |
| 167 | "Program does not utilize 39-bit address space, unable to natively execute code"); | 170 | "Program does not utilize 39-bit address space, unable to natively execute code"); |
| 168 | } | 171 | } |
| 172 | is_nce_enabled = IsFastmemEnabled() && is_nce_selected && is_39bit; | ||
| 169 | } | 173 | } |
| 170 | 174 | ||
| 171 | bool IsNceEnabled() { | 175 | bool IsNceEnabled() { |
diff --git a/src/common/settings.h b/src/common/settings.h index 98341ad96..7dc18fffe 100644 --- a/src/common/settings.h +++ b/src/common/settings.h | |||
| @@ -180,14 +180,20 @@ struct Values { | |||
| 180 | &use_speed_limit}; | 180 | &use_speed_limit}; |
| 181 | 181 | ||
| 182 | // Cpu | 182 | // Cpu |
| 183 | SwitchableSetting<CpuBackend, true> cpu_backend{ | 183 | SwitchableSetting<CpuBackend, true> cpu_backend{linkage, |
| 184 | linkage, CpuBackend::Dynarmic, CpuBackend::Dynarmic, | ||
| 185 | #ifdef HAS_NCE | 184 | #ifdef HAS_NCE |
| 186 | CpuBackend::Nce, | 185 | CpuBackend::Nce, |
| 187 | #else | 186 | #else |
| 188 | CpuBackend::Dynarmic, | 187 | CpuBackend::Dynarmic, |
| 189 | #endif | 188 | #endif |
| 190 | "cpu_backend", Category::Cpu}; | 189 | CpuBackend::Dynarmic, |
| 190 | #ifdef HAS_NCE | ||
| 191 | CpuBackend::Nce, | ||
| 192 | #else | ||
| 193 | CpuBackend::Dynarmic, | ||
| 194 | #endif | ||
| 195 | "cpu_backend", | ||
| 196 | Category::Cpu}; | ||
| 191 | SwitchableSetting<CpuAccuracy, true> cpu_accuracy{linkage, CpuAccuracy::Auto, | 197 | SwitchableSetting<CpuAccuracy, true> cpu_accuracy{linkage, CpuAccuracy::Auto, |
| 192 | CpuAccuracy::Auto, CpuAccuracy::Paranoid, | 198 | CpuAccuracy::Auto, CpuAccuracy::Paranoid, |
| 193 | "cpu_accuracy", Category::Cpu}; | 199 | "cpu_accuracy", Category::Cpu}; |