summaryrefslogtreecommitdiff
path: root/src/video_core/rasterizer_interface.h
diff options
context:
space:
mode:
authorGravatar bunnei2018-08-31 13:24:21 -0400
committerGravatar GitHub2018-08-31 13:24:21 -0400
commit42588493d5ad5d824fc557ac936e64e5e7fd7e44 (patch)
treed06ab2b0bd2f426a8fb129cea437ed99e29ed5e9 /src/video_core/rasterizer_interface.h
parentImplement BC6H_UF16 & BC6H_SF16 (#1092) (diff)
parentgl_rasterizer_cache: Use accurate framebuffer setting for accurate copies. (diff)
downloadyuzu-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.h9
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