diff options
Diffstat (limited to 'src/video_core/rasterizer_interface.h')
| -rw-r--r-- | src/video_core/rasterizer_interface.h | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/video_core/rasterizer_interface.h b/src/video_core/rasterizer_interface.h index 641b95c7c..6d8d2b666 100644 --- a/src/video_core/rasterizer_interface.h +++ b/src/video_core/rasterizer_interface.h | |||
| @@ -8,6 +8,7 @@ | |||
| 8 | #include <span> | 8 | #include <span> |
| 9 | #include "common/common_types.h" | 9 | #include "common/common_types.h" |
| 10 | #include "common/polyfill_thread.h" | 10 | #include "common/polyfill_thread.h" |
| 11 | #include "video_core/cache_types.h" | ||
| 11 | #include "video_core/engines/fermi_2d.h" | 12 | #include "video_core/engines/fermi_2d.h" |
| 12 | #include "video_core/gpu.h" | 13 | #include "video_core/gpu.h" |
| 13 | 14 | ||
| @@ -83,13 +84,16 @@ public: | |||
| 83 | virtual void FlushAll() = 0; | 84 | virtual void FlushAll() = 0; |
| 84 | 85 | ||
| 85 | /// Notify rasterizer that any caches of the specified region should be flushed to Switch memory | 86 | /// Notify rasterizer that any caches of the specified region should be flushed to Switch memory |
| 86 | virtual void FlushRegion(VAddr addr, u64 size) = 0; | 87 | virtual void FlushRegion(VAddr addr, u64 size, |
| 88 | VideoCommon::CacheType which = VideoCommon::CacheType::All) = 0; | ||
| 87 | 89 | ||
| 88 | /// Check if the the specified memory area requires flushing to CPU Memory. | 90 | /// Check if the the specified memory area requires flushing to CPU Memory. |
| 89 | virtual bool MustFlushRegion(VAddr addr, u64 size) = 0; | 91 | virtual bool MustFlushRegion(VAddr addr, u64 size, |
| 92 | VideoCommon::CacheType which = VideoCommon::CacheType::All) = 0; | ||
| 90 | 93 | ||
| 91 | /// Notify rasterizer that any caches of the specified region should be invalidated | 94 | /// Notify rasterizer that any caches of the specified region should be invalidated |
| 92 | virtual void InvalidateRegion(VAddr addr, u64 size) = 0; | 95 | virtual void InvalidateRegion(VAddr addr, u64 size, |
| 96 | VideoCommon::CacheType which = VideoCommon::CacheType::All) = 0; | ||
| 93 | 97 | ||
| 94 | /// Notify rasterizer that any caches of the specified region are desync with guest | 98 | /// Notify rasterizer that any caches of the specified region are desync with guest |
| 95 | virtual void OnCPUWrite(VAddr addr, u64 size) = 0; | 99 | virtual void OnCPUWrite(VAddr addr, u64 size) = 0; |
| @@ -105,7 +109,8 @@ public: | |||
| 105 | 109 | ||
| 106 | /// Notify rasterizer that any caches of the specified region should be flushed to Switch memory | 110 | /// Notify rasterizer that any caches of the specified region should be flushed to Switch memory |
| 107 | /// and invalidated | 111 | /// and invalidated |
| 108 | virtual void FlushAndInvalidateRegion(VAddr addr, u64 size) = 0; | 112 | virtual void FlushAndInvalidateRegion( |
| 113 | VAddr addr, u64 size, VideoCommon::CacheType which = VideoCommon::CacheType::All) = 0; | ||
| 109 | 114 | ||
| 110 | /// Notify the host renderer to wait for previous primitive and compute operations. | 115 | /// Notify the host renderer to wait for previous primitive and compute operations. |
| 111 | virtual void WaitForIdle() = 0; | 116 | virtual void WaitForIdle() = 0; |