diff options
| author | Gamer64 <76565986+Gamer64ytb@users.noreply.github.com> | 2025-07-09 04:23:07 +0200 |
|---|---|---|
| committer | Gamer64 <76565986+Gamer64ytb@users.noreply.github.com> | 2025-07-09 04:23:22 +0200 |
| commit | 3e44389bfcde32ce70be2bf17e374c0e50bcc138 (patch) | |
| tree | 53a879e468f404f92c214772cd0203ab9fa30de0 /src/video_core/rasterizer_interface.h | |
| parent | 693404bf3755e6e9b09b83bdaccff7423542a081 (diff) | |
[Rasterizer]: Implement "Skip CPU Inner Invalidation" hack
Diffstat (limited to 'src/video_core/rasterizer_interface.h')
| -rw-r--r-- | src/video_core/rasterizer_interface.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/video_core/rasterizer_interface.h b/src/video_core/rasterizer_interface.h index 6e2eccfbf0..481efbf53b 100644 --- a/src/video_core/rasterizer_interface.h +++ b/src/video_core/rasterizer_interface.h @@ -9,6 +9,7 @@ #include <utility> #include "common/common_types.h" #include "common/polyfill_thread.h" +#include "common/settings.h" #include "video_core/cache_types.h" #include "video_core/engines/fermi_2d.h" #include "video_core/gpu.h" @@ -100,8 +101,10 @@ public: VideoCommon::CacheType which = VideoCommon::CacheType::All) = 0; virtual void InnerInvalidation(std::span<const std::pair<DAddr, std::size_t>> sequences) { - for (const auto& [cpu_addr, size] : sequences) { - InvalidateRegion(cpu_addr, size); + if (!Settings::values.skip_cpu_inner_invalidation.GetValue()) { + for (const auto& [cpu_addr, size] : sequences) { + InvalidateRegion(cpu_addr, size); + } } } |
