summaryrefslogtreecommitdiff
path: root/src/video_core/renderer_vulkan
diff options
context:
space:
mode:
authorGravatar Fernando Sahmkow2020-02-17 22:29:04 -0400
committerGravatar Fernando Sahmkow2020-04-22 11:36:12 -0400
commit165ae823f522aa981129927f42e76763a9fa6006 (patch)
tree5b20ac78e3946e50aa37f76a1446a42654bf3511 /src/video_core/renderer_vulkan
parentFenceManager: Implement should wait. (diff)
downloadyuzu-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.cpp4
-rw-r--r--src/video_core/renderer_vulkan/vk_rasterizer.h1
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
517bool RasterizerVulkan::MustFlushRegion(VAddr addr, u64 size) {
518 return texture_cache.MustFlushRegion(addr, size) || buffer_cache.MustFlushRegion(addr, size);
519}
520
517void RasterizerVulkan::InvalidateRegion(VAddr addr, u64 size) { 521void 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;