diff options
| author | Fernando Sahmkow <fsahmkow27@gmail.com> | 2023-01-04 22:05:20 -0500 |
|---|---|---|
| committer | Fernando Sahmkow <fsahmkow27@gmail.com> | 2023-01-05 05:23:39 -0500 |
| commit | 6c7eb81f7d871f5c08a4844471633a67725aae73 (patch) | |
| tree | d642b93700ff8527a7750d20551e96c58a36e90f /src/video_core/rasterizer_interface.h | |
| parent | b78328f19a54964ef6874281d1a4d6b6ad1c34d9 (diff) | |
video_core: Cache GPU internal writes.
Diffstat (limited to 'src/video_core/rasterizer_interface.h')
| -rw-r--r-- | src/video_core/rasterizer_interface.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/video_core/rasterizer_interface.h b/src/video_core/rasterizer_interface.h index f44c7df50..6b66ad7b6 100644 --- a/src/video_core/rasterizer_interface.h +++ b/src/video_core/rasterizer_interface.h @@ -6,6 +6,7 @@ #include <functional> #include <optional> #include <span> +#include <utility> #include "common/common_types.h" #include "common/polyfill_thread.h" #include "video_core/cache_types.h" @@ -95,6 +96,12 @@ public: virtual void InvalidateRegion(VAddr addr, u64 size, VideoCommon::CacheType which = VideoCommon::CacheType::All) = 0; + virtual void InnerInvalidation(std::span<const std::pair<VAddr, std::size_t>> sequences) { + for (const auto [cpu_addr, size] : sequences) { + InvalidateRegion(cpu_addr, size); + } + } + /// Notify rasterizer that any caches of the specified region are desync with guest virtual void OnCPUWrite(VAddr addr, u64 size) = 0; |
