UI: Replasce accurate GPU option for GPU Accuracy Level

This commit is contained in:
Fernando Sahmkow 2020-02-18 16:51:42 -04:00
parent e1fd985d73
commit c213fd218b
12 changed files with 77 additions and 28 deletions

View file

@ -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