settings: Add cpu backend setting
This commit is contained in:
parent
f2a8409083
commit
15331c2a60
|
@ -41,6 +41,7 @@ SWITCHABLE(AspectRatio, true);
|
|||
SWITCHABLE(AstcDecodeMode, true);
|
||||
SWITCHABLE(AstcRecompression, true);
|
||||
SWITCHABLE(AudioMode, true);
|
||||
SWITCHABLE(CpuBackend, true);
|
||||
SWITCHABLE(CpuAccuracy, true);
|
||||
SWITCHABLE(FullscreenMode, true);
|
||||
SWITCHABLE(GpuAccuracy, true);
|
||||
|
@ -155,6 +156,10 @@ bool IsFastmemEnabled() {
|
|||
return true;
|
||||
}
|
||||
|
||||
bool IsNceEnabled(bool is_64bit) {
|
||||
return values.cpu_backend.GetValue() == CpuBackend::Nce && is_64bit;
|
||||
}
|
||||
|
||||
bool IsDockedMode() {
|
||||
return values.use_docked_mode.GetValue() == Settings::ConsoleMode::Docked;
|
||||
}
|
||||
|
|
|
@ -63,6 +63,7 @@ SWITCHABLE(AspectRatio, true);
|
|||
SWITCHABLE(AstcDecodeMode, true);
|
||||
SWITCHABLE(AstcRecompression, true);
|
||||
SWITCHABLE(AudioMode, true);
|
||||
SWITCHABLE(CpuBackend, true);
|
||||
SWITCHABLE(CpuAccuracy, true);
|
||||
SWITCHABLE(FullscreenMode, true);
|
||||
SWITCHABLE(GpuAccuracy, true);
|
||||
|
@ -179,6 +180,14 @@ struct Values {
|
|||
&use_speed_limit};
|
||||
|
||||
// Cpu
|
||||
SwitchableSetting<CpuBackend, true> cpu_backend{
|
||||
linkage, CpuBackend::Dynarmic, CpuBackend::Dynarmic,
|
||||
#ifdef ARCHITECTURE_arm64
|
||||
CpuBackend::Nce,
|
||||
#else
|
||||
CpuBackend::Dynarmic,
|
||||
#endif
|
||||
"cpu_backend", Category::Cpu};
|
||||
SwitchableSetting<CpuAccuracy, true> cpu_accuracy{linkage, CpuAccuracy::Auto,
|
||||
CpuAccuracy::Auto, CpuAccuracy::Paranoid,
|
||||
"cpu_accuracy", Category::Cpu};
|
||||
|
@ -564,6 +573,7 @@ bool IsGPULevelExtreme();
|
|||
bool IsGPULevelHigh();
|
||||
|
||||
bool IsFastmemEnabled();
|
||||
bool IsNceEnabled(bool is_64bit = true);
|
||||
|
||||
bool IsDockedMode();
|
||||
|
||||
|
|
|
@ -129,6 +129,8 @@ ENUM(ShaderBackend, Glsl, Glasm, SpirV);
|
|||
|
||||
ENUM(GpuAccuracy, Normal, High, Extreme);
|
||||
|
||||
ENUM(CpuBackend, Dynarmic, Nce);
|
||||
|
||||
ENUM(CpuAccuracy, Auto, Accurate, Unsafe, Paranoid);
|
||||
|
||||
ENUM(MemoryLayout, Memory_4Gb, Memory_6Gb, Memory_8Gb);
|
||||
|
|
Reference in New Issue