summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_vulkan
diff options
context:
space:
mode:
authorAmeer J <52414509+ameerj@users.noreply.github.com>2021-07-10 22:06:19 +0200
committerGitHub <noreply@github.com>2021-07-10 22:06:19 +0200
commit907b2324d3a570ff726fe064ba425924d6dc0426 (patch)
tree1b3a16691ab5835900a5eee0a05a871b6b774a71 /src/video_core/renderer_vulkan
parentMerge pull request #6573 from lat9nq/cpu-settings-cleanup-2 (diff)
parentBuffer Cache: Address Feedback. (diff)
downloadyuzu-907b2324d3a570ff726fe064ba425924d6dc0426.tar
yuzu-907b2324d3a570ff726fe064ba425924d6dc0426.tar.gz
yuzu-907b2324d3a570ff726fe064ba425924d6dc0426.tar.bz2
yuzu-907b2324d3a570ff726fe064ba425924d6dc0426.tar.lz
yuzu-907b2324d3a570ff726fe064ba425924d6dc0426.tar.xz
yuzu-907b2324d3a570ff726fe064ba425924d6dc0426.tar.zst
yuzu-907b2324d3a570ff726fe064ba425924d6dc0426.zip
Diffstat (limited to '')
-rw-r--r--src/video_core/renderer_vulkan/vk_rasterizer.cpp8
-rw-r--r--src/video_core/renderer_vulkan/vk_rasterizer.h1
2 files changed, 9 insertions, 0 deletions
diff --git a/src/video_core/renderer_vulkan/vk_rasterizer.cpp b/src/video_core/renderer_vulkan/vk_rasterizer.cpp
index bd4d649cc..9ea4b6653 100644
--- a/src/video_core/renderer_vulkan/vk_rasterizer.cpp
+++ b/src/video_core/renderer_vulkan/vk_rasterizer.cpp
@@ -580,6 +580,13 @@ void RasterizerVulkan::SignalSyncPoint(u32 value) {
fence_manager.SignalSyncPoint(value);
}
+void RasterizerVulkan::SignalReference() {
+ if (!gpu.IsAsync()) {
+ return;
+ }
+ fence_manager.SignalOrdering();
+}
+
void RasterizerVulkan::ReleaseFences() {
if (!gpu.IsAsync()) {
return;
@@ -612,6 +619,7 @@ void RasterizerVulkan::WaitForIdle() {
cmdbuf.SetEvent(event, flags);
cmdbuf.WaitEvents(event, flags, VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT, {}, {}, {});
});
+ SignalReference();
}
void RasterizerVulkan::FragmentBarrier() {
diff --git a/src/video_core/renderer_vulkan/vk_rasterizer.h b/src/video_core/renderer_vulkan/vk_rasterizer.h
index 41459c5c5..5450ccfb5 100644
--- a/src/video_core/renderer_vulkan/vk_rasterizer.h
+++ b/src/video_core/renderer_vulkan/vk_rasterizer.h
@@ -75,6 +75,7 @@ public:
void ModifyGPUMemory(GPUVAddr addr, u64 size) override;
void SignalSemaphore(GPUVAddr addr, u32 value) override;
void SignalSyncPoint(u32 value) override;
+ void SignalReference() override;
void ReleaseFences() override;
void FlushAndInvalidateRegion(VAddr addr, u64 size) override;
void WaitForIdle() override;