diff options
| author | MaranBr <maranbr@outlook.com> | 2025-09-16 18:42:48 +0200 |
|---|---|---|
| committer | crueter <crueter@eden-emu.dev> | 2025-09-16 18:42:48 +0200 |
| commit | 19036c59b571056ac410d3ec46ca07cd08d28c9d (patch) | |
| tree | db1da045373dd04dae453f6b6f58fca46572855a /src/video_core/dma_pusher.cpp | |
| parent | 80dfc3d76f918665f574f12b05f3e7c57271903e (diff) | |
[video_core] Simplify DMA options (#525)
This simplifies DMA options in a clearer and more objective way.
Co-authored-by: PavelBARABANOV <pavelbarabanov94@gmail.com>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/525
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev>
Co-authored-by: MaranBr <maranbr@outlook.com>
Co-committed-by: MaranBr <maranbr@outlook.com>
Diffstat (limited to 'src/video_core/dma_pusher.cpp')
| -rw-r--r-- | src/video_core/dma_pusher.cpp | 17 |
1 files changed, 2 insertions, 15 deletions
diff --git a/src/video_core/dma_pusher.cpp b/src/video_core/dma_pusher.cpp index 4b9a506cdf..a9bcd150e6 100644 --- a/src/video_core/dma_pusher.cpp +++ b/src/video_core/dma_pusher.cpp @@ -102,23 +102,10 @@ bool DmaPusher::Step() { ProcessCommands(headers); }; - const Settings::DmaAccuracy accuracy = Settings::values.dma_accuracy.GetValue(); - const bool use_gpu_accuracy = accuracy == Settings::DmaAccuracy::Default; + const bool use_safe = Settings::IsDMALevelDefault() ? Settings::IsGPULevelHigh() : Settings::IsDMALevelSafe(); - // reduces eye bleeding but also macros are dumb so idk -#define CHECK_LEVEL(level) use_gpu_accuracy ? Settings::IsGPULevel##level() : accuracy == Settings::DmaAccuracy::level; - const bool force_safe = CHECK_LEVEL(Extreme) - const bool unsafe_compute = CHECK_LEVEL(High) -#undef CHECK_LEVEL - - if (force_safe) { + if (use_safe) { safe_process(); - } else if (unsafe_compute) { - if (dma_state.method >= MacroRegistersStart) { - unsafe_process(); - } else { - safe_process(); - } } else { unsafe_process(); } |
