diff options
| author | 2018-08-31 13:24:21 -0400 | |
|---|---|---|
| committer | 2018-08-31 13:24:21 -0400 | |
| commit | 42588493d5ad5d824fc557ac936e64e5e7fd7e44 (patch) | |
| tree | d06ab2b0bd2f426a8fb129cea437ed99e29ed5e9 /src/video_core/rasterizer_interface.h | |
| parent | Implement BC6H_UF16 & BC6H_SF16 (#1092) (diff) | |
| parent | gl_rasterizer_cache: Use accurate framebuffer setting for accurate copies. (diff) | |
| download | yuzu-42588493d5ad5d824fc557ac936e64e5e7fd7e44.tar.gz yuzu-42588493d5ad5d824fc557ac936e64e5e7fd7e44.tar.xz yuzu-42588493d5ad5d824fc557ac936e64e5e7fd7e44.zip | |
Merge pull request #1205 from bunnei/improve-rasterizer-cache-2
Various fixes and improvements to rasterizer cache 2: Electric Boogaloo
Diffstat (limited to 'src/video_core/rasterizer_interface.h')
| -rw-r--r-- | src/video_core/rasterizer_interface.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/video_core/rasterizer_interface.h b/src/video_core/rasterizer_interface.h index a4a219d8d..9d78e8b6b 100644 --- a/src/video_core/rasterizer_interface.h +++ b/src/video_core/rasterizer_interface.h | |||
| @@ -27,14 +27,14 @@ public: | |||
| 27 | virtual void FlushAll() = 0; | 27 | virtual void FlushAll() = 0; |
| 28 | 28 | ||
| 29 | /// Notify rasterizer that any caches of the specified region should be flushed to Switch memory | 29 | /// Notify rasterizer that any caches of the specified region should be flushed to Switch memory |
| 30 | virtual void FlushRegion(Tegra::GPUVAddr addr, u64 size) = 0; | 30 | virtual void FlushRegion(VAddr addr, u64 size) = 0; |
| 31 | 31 | ||
| 32 | /// Notify rasterizer that any caches of the specified region should be invalidated | 32 | /// Notify rasterizer that any caches of the specified region should be invalidated |
| 33 | virtual void InvalidateRegion(Tegra::GPUVAddr addr, u64 size) = 0; | 33 | virtual void InvalidateRegion(VAddr addr, u64 size) = 0; |
| 34 | 34 | ||
| 35 | /// Notify rasterizer that any caches of the specified region should be flushed to Switch memory | 35 | /// Notify rasterizer that any caches of the specified region should be flushed to Switch memory |
| 36 | /// and invalidated | 36 | /// and invalidated |
| 37 | virtual void FlushAndInvalidateRegion(Tegra::GPUVAddr addr, u64 size) = 0; | 37 | virtual void FlushAndInvalidateRegion(VAddr addr, u64 size) = 0; |
| 38 | 38 | ||
| 39 | /// Attempt to use a faster method to perform a display transfer with is_texture_copy = 0 | 39 | /// Attempt to use a faster method to perform a display transfer with is_texture_copy = 0 |
| 40 | virtual bool AccelerateDisplayTransfer(const void* config) { | 40 | virtual bool AccelerateDisplayTransfer(const void* config) { |
| @@ -60,5 +60,8 @@ public: | |||
| 60 | virtual bool AccelerateDrawBatch(bool is_indexed) { | 60 | virtual bool AccelerateDrawBatch(bool is_indexed) { |
| 61 | return false; | 61 | return false; |
| 62 | } | 62 | } |
| 63 | |||
| 64 | /// Increase/decrease the number of object in pages touching the specified region | ||
| 65 | virtual void UpdatePagesCachedCount(Tegra::GPUVAddr addr, u64 size, int delta) {} | ||
| 63 | }; | 66 | }; |
| 64 | } // namespace VideoCore | 67 | } // namespace VideoCore |