diff options
Diffstat (limited to 'src/common/settings.h')
| -rw-r--r-- | src/common/settings.h | 58 |
1 files changed, 52 insertions, 6 deletions
diff --git a/src/common/settings.h b/src/common/settings.h index e899f1ae6..98341ad96 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 HAS_NCE | ||
| 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}; |
| @@ -232,7 +241,11 @@ struct Values { | |||
| 232 | SwitchableSetting<bool> use_asynchronous_gpu_emulation{ | 241 | SwitchableSetting<bool> use_asynchronous_gpu_emulation{ |
| 233 | linkage, true, "use_asynchronous_gpu_emulation", Category::Renderer}; | 242 | linkage, true, "use_asynchronous_gpu_emulation", Category::Renderer}; |
| 234 | SwitchableSetting<AstcDecodeMode, true> accelerate_astc{linkage, | 243 | SwitchableSetting<AstcDecodeMode, true> accelerate_astc{linkage, |
| 244 | #ifdef ANDROID | ||
| 245 | AstcDecodeMode::Cpu, | ||
| 246 | #else | ||
| 235 | AstcDecodeMode::Gpu, | 247 | AstcDecodeMode::Gpu, |
| 248 | #endif | ||
| 236 | AstcDecodeMode::Cpu, | 249 | AstcDecodeMode::Cpu, |
| 237 | AstcDecodeMode::CpuAsynchronous, | 250 | AstcDecodeMode::CpuAsynchronous, |
| 238 | "accelerate_astc", | 251 | "accelerate_astc", |
| @@ -304,7 +317,11 @@ struct Values { | |||
| 304 | linkage, 0, "bg_blue", Category::Renderer, Specialization::Default, true, true}; | 317 | linkage, 0, "bg_blue", Category::Renderer, Specialization::Default, true, true}; |
| 305 | 318 | ||
| 306 | SwitchableSetting<GpuAccuracy, true> gpu_accuracy{linkage, | 319 | SwitchableSetting<GpuAccuracy, true> gpu_accuracy{linkage, |
| 320 | #ifdef ANDROID | ||
| 321 | GpuAccuracy::Normal, | ||
| 322 | #else | ||
| 307 | GpuAccuracy::High, | 323 | GpuAccuracy::High, |
| 324 | #endif | ||
| 308 | GpuAccuracy::Normal, | 325 | GpuAccuracy::Normal, |
| 309 | GpuAccuracy::Extreme, | 326 | GpuAccuracy::Extreme, |
| 310 | "gpu_accuracy", | 327 | "gpu_accuracy", |
| @@ -313,20 +330,38 @@ struct Values { | |||
| 313 | true, | 330 | true, |
| 314 | true}; | 331 | true}; |
| 315 | GpuAccuracy current_gpu_accuracy{GpuAccuracy::High}; | 332 | GpuAccuracy current_gpu_accuracy{GpuAccuracy::High}; |
| 316 | SwitchableSetting<AnisotropyMode, true> max_anisotropy{ | 333 | SwitchableSetting<AnisotropyMode, true> max_anisotropy{linkage, |
| 317 | linkage, AnisotropyMode::Automatic, AnisotropyMode::Automatic, AnisotropyMode::X16, | 334 | #ifdef ANDROID |
| 318 | "max_anisotropy", Category::RendererAdvanced}; | 335 | AnisotropyMode::Default, |
| 336 | #else | ||
| 337 | AnisotropyMode::Automatic, | ||
| 338 | #endif | ||
| 339 | AnisotropyMode::Automatic, | ||
| 340 | AnisotropyMode::X16, | ||
| 341 | "max_anisotropy", | ||
| 342 | Category::RendererAdvanced}; | ||
| 319 | SwitchableSetting<AstcRecompression, true> astc_recompression{linkage, | 343 | SwitchableSetting<AstcRecompression, true> astc_recompression{linkage, |
| 320 | AstcRecompression::Uncompressed, | 344 | AstcRecompression::Uncompressed, |
| 321 | AstcRecompression::Uncompressed, | 345 | AstcRecompression::Uncompressed, |
| 322 | AstcRecompression::Bc3, | 346 | AstcRecompression::Bc3, |
| 323 | "astc_recompression", | 347 | "astc_recompression", |
| 324 | Category::RendererAdvanced}; | 348 | Category::RendererAdvanced}; |
| 325 | SwitchableSetting<bool> async_presentation{linkage, false, "async_presentation", | 349 | SwitchableSetting<bool> async_presentation{linkage, |
| 326 | Category::RendererAdvanced}; | 350 | #ifdef ANDROID |
| 351 | true, | ||
| 352 | #else | ||
| 353 | false, | ||
| 354 | #endif | ||
| 355 | "async_presentation", Category::RendererAdvanced}; | ||
| 327 | SwitchableSetting<bool> renderer_force_max_clock{linkage, false, "force_max_clock", | 356 | SwitchableSetting<bool> renderer_force_max_clock{linkage, false, "force_max_clock", |
| 328 | Category::RendererAdvanced}; | 357 | Category::RendererAdvanced}; |
| 329 | SwitchableSetting<bool> use_reactive_flushing{linkage, true, "use_reactive_flushing", | 358 | SwitchableSetting<bool> use_reactive_flushing{linkage, |
| 359 | #ifdef ANDROID | ||
| 360 | false, | ||
| 361 | #else | ||
| 362 | true, | ||
| 363 | #endif | ||
| 364 | "use_reactive_flushing", | ||
| 330 | Category::RendererAdvanced}; | 365 | Category::RendererAdvanced}; |
| 331 | SwitchableSetting<bool> use_asynchronous_shaders{linkage, false, "use_asynchronous_shaders", | 366 | SwitchableSetting<bool> use_asynchronous_shaders{linkage, false, "use_asynchronous_shaders", |
| 332 | Category::RendererAdvanced}; | 367 | Category::RendererAdvanced}; |
| @@ -358,6 +393,8 @@ struct Values { | |||
| 358 | Category::RendererDebug}; | 393 | Category::RendererDebug}; |
| 359 | // TODO: remove this once AMDVLK supports VK_EXT_depth_bias_control | 394 | // TODO: remove this once AMDVLK supports VK_EXT_depth_bias_control |
| 360 | bool renderer_amdvlk_depth_bias_workaround{}; | 395 | bool renderer_amdvlk_depth_bias_workaround{}; |
| 396 | Setting<bool> disable_buffer_reorder{linkage, false, "disable_buffer_reorder", | ||
| 397 | Category::RendererDebug}; | ||
| 361 | 398 | ||
| 362 | // System | 399 | // System |
| 363 | SwitchableSetting<Language, true> language_index{linkage, | 400 | SwitchableSetting<Language, true> language_index{linkage, |
| @@ -390,13 +427,20 @@ struct Values { | |||
| 390 | Setting<s32> current_user{linkage, 0, "current_user", Category::System}; | 427 | Setting<s32> current_user{linkage, 0, "current_user", Category::System}; |
| 391 | 428 | ||
| 392 | SwitchableSetting<ConsoleMode> use_docked_mode{linkage, | 429 | SwitchableSetting<ConsoleMode> use_docked_mode{linkage, |
| 430 | #ifdef ANDROID | ||
| 431 | ConsoleMode::Handheld, | ||
| 432 | #else | ||
| 393 | ConsoleMode::Docked, | 433 | ConsoleMode::Docked, |
| 434 | #endif | ||
| 394 | "use_docked_mode", | 435 | "use_docked_mode", |
| 395 | Category::System, | 436 | Category::System, |
| 396 | Specialization::Radio, | 437 | Specialization::Radio, |
| 397 | true, | 438 | true, |
| 398 | true}; | 439 | true}; |
| 399 | 440 | ||
| 441 | // Linux | ||
| 442 | SwitchableSetting<bool> enable_gamemode{linkage, true, "enable_gamemode", Category::Linux}; | ||
| 443 | |||
| 400 | // Controls | 444 | // Controls |
| 401 | InputSetting<std::array<PlayerInput, 10>> players; | 445 | InputSetting<std::array<PlayerInput, 10>> players; |
| 402 | 446 | ||
| @@ -534,6 +578,8 @@ bool IsGPULevelExtreme(); | |||
| 534 | bool IsGPULevelHigh(); | 578 | bool IsGPULevelHigh(); |
| 535 | 579 | ||
| 536 | bool IsFastmemEnabled(); | 580 | bool IsFastmemEnabled(); |
| 581 | void SetNceEnabled(bool is_64bit); | ||
| 582 | bool IsNceEnabled(); | ||
| 537 | 583 | ||
| 538 | bool IsDockedMode(); | 584 | bool IsDockedMode(); |
| 539 | 585 | ||