From fc34a93ac2a21bd5ac5d0d6beff63c794e7630f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Sat, 30 Nov 2019 23:01:23 +0100 Subject: [PATCH] vulkan: ApplyRenderPassMerge; Add copy / blit destinations to touched buffers. --- ext/native/thin3d/VulkanQueueRunner.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ext/native/thin3d/VulkanQueueRunner.cpp b/ext/native/thin3d/VulkanQueueRunner.cpp index 3785b7d9b9..0b16b4bbc7 100644 --- a/ext/native/thin3d/VulkanQueueRunner.cpp +++ b/ext/native/thin3d/VulkanQueueRunner.cpp @@ -789,11 +789,13 @@ void VulkanQueueRunner::ApplyRenderPassMerge(std::vector &steps) { if (steps[j]->copy.src == fb || steps[j]->copy.dst == fb) { goto done_fb; } + touchedFramebuffers.insert(steps[j]->copy.dst); break; case VKRStepType::BLIT: if (steps[j]->blit.src == fb || steps[j]->blit.dst == fb) { goto done_fb; } + touchedFramebuffers.insert(steps[j]->blit.dst); break; case VKRStepType::READBACK: // Not sure this has much effect, when executed READBACK is always the last step