summaryrefslogtreecommitdiff
path: root/src/video_core/rasterizer_interface.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/video_core/rasterizer_interface.h')
-rw-r--r--src/video_core/rasterizer_interface.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/video_core/rasterizer_interface.h b/src/video_core/rasterizer_interface.h
index 8ae5b9c4e..603f61952 100644
--- a/src/video_core/rasterizer_interface.h
+++ b/src/video_core/rasterizer_interface.h
@@ -49,15 +49,33 @@ public:
49 /// Records a GPU query and caches it 49 /// Records a GPU query and caches it
50 virtual void Query(GPUVAddr gpu_addr, QueryType type, std::optional<u64> timestamp) = 0; 50 virtual void Query(GPUVAddr gpu_addr, QueryType type, std::optional<u64> timestamp) = 0;
51 51
52 /// Signal a GPU based semaphore as a fence
53 virtual void SignalSemaphore(GPUVAddr addr, u32 value) = 0;
54
55 /// Signal a GPU based syncpoint as a fence
56 virtual void SignalSyncPoint(u32 value) = 0;
57
58 /// Release all pending fences.
59 virtual void ReleaseFences() = 0;
60
52 /// Notify rasterizer that all caches should be flushed to Switch memory 61 /// Notify rasterizer that all caches should be flushed to Switch memory
53 virtual void FlushAll() = 0; 62 virtual void FlushAll() = 0;
54 63
55 /// Notify rasterizer that any caches of the specified region should be flushed to Switch memory 64 /// Notify rasterizer that any caches of the specified region should be flushed to Switch memory
56 virtual void FlushRegion(VAddr addr, u64 size) = 0; 65 virtual void FlushRegion(VAddr addr, u64 size) = 0;
57 66
67 /// Check if the the specified memory area requires flushing to CPU Memory.
68 virtual bool MustFlushRegion(VAddr addr, u64 size) = 0;
69
58 /// Notify rasterizer that any caches of the specified region should be invalidated 70 /// Notify rasterizer that any caches of the specified region should be invalidated
59 virtual void InvalidateRegion(VAddr addr, u64 size) = 0; 71 virtual void InvalidateRegion(VAddr addr, u64 size) = 0;
60 72
73 /// Notify rasterizer that any caches of the specified region are desync with guest
74 virtual void OnCPUWrite(VAddr addr, u64 size) = 0;
75
76 /// Sync memory between guest and host.
77 virtual void SyncGuestHost() = 0;
78
61 /// Notify rasterizer that any caches of the specified region should be flushed to Switch memory 79 /// Notify rasterizer that any caches of the specified region should be flushed to Switch memory
62 /// and invalidated 80 /// and invalidated
63 virtual void FlushAndInvalidateRegion(VAddr addr, u64 size) = 0; 81 virtual void FlushAndInvalidateRegion(VAddr addr, u64 size) = 0;