diff options
| author | 2020-02-17 22:29:04 -0400 | |
|---|---|---|
| committer | 2020-04-22 11:36:12 -0400 | |
| commit | 165ae823f522aa981129927f42e76763a9fa6006 (patch) | |
| tree | 5b20ac78e3946e50aa37f76a1446a42654bf3511 /src/video_core/renderer_vulkan | |
| parent | FenceManager: Implement should wait. (diff) | |
| download | yuzu-165ae823f522aa981129927f42e76763a9fa6006.tar.gz yuzu-165ae823f522aa981129927f42e76763a9fa6006.tar.xz yuzu-165ae823f522aa981129927f42e76763a9fa6006.zip | |
ThreadManager: Sync async reads on accurate gpu.
Diffstat (limited to 'src/video_core/renderer_vulkan')
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_rasterizer.cpp | 4 | ||||
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_rasterizer.h | 1 |
2 files changed, 5 insertions, 0 deletions
diff --git a/src/video_core/renderer_vulkan/vk_rasterizer.cpp b/src/video_core/renderer_vulkan/vk_rasterizer.cpp index 4d0c90aa3..9437a4aa1 100644 --- a/src/video_core/renderer_vulkan/vk_rasterizer.cpp +++ b/src/video_core/renderer_vulkan/vk_rasterizer.cpp | |||
| @@ -514,6 +514,10 @@ void RasterizerVulkan::FlushRegion(VAddr addr, u64 size) { | |||
| 514 | query_cache.FlushRegion(addr, size); | 514 | query_cache.FlushRegion(addr, size); |
| 515 | } | 515 | } |
| 516 | 516 | ||
| 517 | bool RasterizerVulkan::MustFlushRegion(VAddr addr, u64 size) { | ||
| 518 | return texture_cache.MustFlushRegion(addr, size) || buffer_cache.MustFlushRegion(addr, size); | ||
| 519 | } | ||
| 520 | |||
| 517 | void RasterizerVulkan::InvalidateRegion(VAddr addr, u64 size) { | 521 | void RasterizerVulkan::InvalidateRegion(VAddr addr, u64 size) { |
| 518 | if (addr == 0 || size == 0) { | 522 | if (addr == 0 || size == 0) { |
| 519 | return; | 523 | return; |
diff --git a/src/video_core/renderer_vulkan/vk_rasterizer.h b/src/video_core/renderer_vulkan/vk_rasterizer.h index 285f731bc..7002a4fa3 100644 --- a/src/video_core/renderer_vulkan/vk_rasterizer.h +++ b/src/video_core/renderer_vulkan/vk_rasterizer.h | |||
| @@ -118,6 +118,7 @@ public: | |||
| 118 | void Query(GPUVAddr gpu_addr, VideoCore::QueryType type, std::optional<u64> timestamp) override; | 118 | void Query(GPUVAddr gpu_addr, VideoCore::QueryType type, std::optional<u64> timestamp) override; |
| 119 | void FlushAll() override; | 119 | void FlushAll() override; |
| 120 | void FlushRegion(VAddr addr, u64 size) override; | 120 | void FlushRegion(VAddr addr, u64 size) override; |
| 121 | bool MustFlushRegion(VAddr addr, u64 size) override; | ||
| 121 | void InvalidateRegion(VAddr addr, u64 size) override; | 122 | void InvalidateRegion(VAddr addr, u64 size) override; |
| 122 | void OnCPUWrite(VAddr addr, u64 size) override; | 123 | void OnCPUWrite(VAddr addr, u64 size) override; |
| 123 | void SyncGuestHost() override; | 124 | void SyncGuestHost() override; |