settings: Add cpu backend setting
This commit is contained in:
		@@ -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
	
	Block a user