summaryrefslogtreecommitdiff
path: root/src/video_core/renderer_vulkan
diff options
context:
space:
mode:
authorGravatar Fernando Sahmkow2020-02-19 13:40:37 -0400
committerGravatar Fernando Sahmkow2020-04-22 11:36:16 -0400
commitb7bc3c25496849661846f2fe42f591f2a81fbc87 (patch)
tree5c65f286d0ac58dfd46a42325a71548f20522f71 /src/video_core/renderer_vulkan
parentBufferCache: Refactor async managing. (diff)
downloadyuzu-b7bc3c25496849661846f2fe42f591f2a81fbc87.tar.gz
yuzu-b7bc3c25496849661846f2fe42f591f2a81fbc87.tar.xz
yuzu-b7bc3c25496849661846f2fe42f591f2a81fbc87.zip
FenceManager: Manage syncpoints and rename fences to semaphores.
Diffstat (limited to 'src/video_core/renderer_vulkan')
-rw-r--r--src/video_core/renderer_vulkan/vk_rasterizer.cpp16
-rw-r--r--src/video_core/renderer_vulkan/vk_rasterizer.h3
2 files changed, 16 insertions, 3 deletions
diff --git a/src/video_core/renderer_vulkan/vk_rasterizer.cpp b/src/video_core/renderer_vulkan/vk_rasterizer.cpp
index 1d75a4766..507262c8f 100644
--- a/src/video_core/renderer_vulkan/vk_rasterizer.cpp
+++ b/src/video_core/renderer_vulkan/vk_rasterizer.cpp
@@ -543,7 +543,7 @@ void RasterizerVulkan::SyncGuestHost() {
543 buffer_cache.SyncGuestHost(); 543 buffer_cache.SyncGuestHost();
544} 544}
545 545
546void RasterizerVulkan::SignalFence(GPUVAddr addr, u32 value) { 546void RasterizerVulkan::SignalSemaphore(GPUVAddr addr, u32 value) {
547 auto& gpu{system.GPU()}; 547 auto& gpu{system.GPU()};
548 auto& memory_manager{gpu.MemoryManager()}; 548 auto& memory_manager{gpu.MemoryManager()};
549 memory_manager.Write<u32>(addr, value); 549 memory_manager.Write<u32>(addr, value);
@@ -553,7 +553,19 @@ void RasterizerVulkan::SignalFence(GPUVAddr addr, u32 value) {
553 memory_manager.Write<u32>(addr, value); 553 memory_manager.Write<u32>(addr, value);
554 return; 554 return;
555 } 555 }
556 fence_manager.SignalFence(addr, value); 556 fence_manager.SignalSemaphore(addr, value);
557 */
558}
559
560void RasterizerVulkan::SignalSyncPoint(u32 value) {
561 auto& gpu{system.GPU()};
562 gpu.IncrementSyncPoint(value);
563 /*
564 if (!gpu.IsAsync()) {
565 gpu.IncrementSyncPoint(value);
566 return;
567 }
568 fence_manager.SignalSyncPoint(value);
557 */ 569 */
558} 570}
559 571
diff --git a/src/video_core/renderer_vulkan/vk_rasterizer.h b/src/video_core/renderer_vulkan/vk_rasterizer.h
index 08a9af401..145bdf899 100644
--- a/src/video_core/renderer_vulkan/vk_rasterizer.h
+++ b/src/video_core/renderer_vulkan/vk_rasterizer.h
@@ -122,7 +122,8 @@ public:
122 void InvalidateRegion(VAddr addr, u64 size) override; 122 void InvalidateRegion(VAddr addr, u64 size) override;
123 void OnCPUWrite(VAddr addr, u64 size) override; 123 void OnCPUWrite(VAddr addr, u64 size) override;
124 void SyncGuestHost() override; 124 void SyncGuestHost() override;
125 void SignalFence(GPUVAddr addr, u32 value) override; 125 void SignalSemaphore(GPUVAddr addr, u32 value) override;
126 void SignalSyncPoint(u32 value) override;
126 void ReleaseFences() override; 127 void ReleaseFences() override;
127 void FlushAndInvalidateRegion(VAddr addr, u64 size) override; 128 void FlushAndInvalidateRegion(VAddr addr, u64 size) override;
128 void FlushCommands() override; 129 void FlushCommands() override;