diff options
| author | 2022-02-06 01:16:11 +0100 | |
|---|---|---|
| committer | 2022-10-06 21:00:52 +0200 | |
| commit | bc8b3d225eda388f0603830cbff8357893abb0f9 (patch) | |
| tree | 479b41b73913feceeeb0c9c6f3147d6491c0fa04 /src/video_core/rasterizer_interface.h | |
| parent | MemoryManager: initial multi paging system implementation. (diff) | |
| download | yuzu-bc8b3d225eda388f0603830cbff8357893abb0f9.tar.gz yuzu-bc8b3d225eda388f0603830cbff8357893abb0f9.tar.xz yuzu-bc8b3d225eda388f0603830cbff8357893abb0f9.zip | |
VideoCore: Refactor fencing system.
Diffstat (limited to 'src/video_core/rasterizer_interface.h')
| -rw-r--r-- | src/video_core/rasterizer_interface.h | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/video_core/rasterizer_interface.h b/src/video_core/rasterizer_interface.h index 5362aafb6..cb07f3d38 100644 --- a/src/video_core/rasterizer_interface.h +++ b/src/video_core/rasterizer_interface.h | |||
| @@ -62,7 +62,10 @@ public: | |||
| 62 | virtual void DisableGraphicsUniformBuffer(size_t stage, u32 index) = 0; | 62 | virtual void DisableGraphicsUniformBuffer(size_t stage, u32 index) = 0; |
| 63 | 63 | ||
| 64 | /// Signal a GPU based semaphore as a fence | 64 | /// Signal a GPU based semaphore as a fence |
| 65 | virtual void SignalSemaphore(GPUVAddr addr, u32 value) = 0; | 65 | virtual void SignalFence(std::function<void()>&& func) = 0; |
| 66 | |||
| 67 | /// Send an operation to be done after a certain amount of flushes. | ||
| 68 | virtual void SyncOperation(std::function<void()>&& func) = 0; | ||
| 66 | 69 | ||
| 67 | /// Signal a GPU based syncpoint as a fence | 70 | /// Signal a GPU based syncpoint as a fence |
| 68 | virtual void SignalSyncPoint(u32 value) = 0; | 71 | virtual void SignalSyncPoint(u32 value) = 0; |
| @@ -89,7 +92,7 @@ public: | |||
| 89 | virtual void OnCPUWrite(VAddr addr, u64 size) = 0; | 92 | virtual void OnCPUWrite(VAddr addr, u64 size) = 0; |
| 90 | 93 | ||
| 91 | /// Sync memory between guest and host. | 94 | /// Sync memory between guest and host. |
| 92 | virtual void SyncGuestHost() = 0; | 95 | virtual void InvalidateGPUCache() = 0; |
| 93 | 96 | ||
| 94 | /// Unmap memory range | 97 | /// Unmap memory range |
| 95 | virtual void UnmapMemory(VAddr addr, u64 size) = 0; | 98 | virtual void UnmapMemory(VAddr addr, u64 size) = 0; |