From 652cc6cd65bd9fbbc428e799bc893358ca4d27be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Tue, 8 Aug 2023 14:00:58 +0200 Subject: [PATCH] Race condition fix --- Common/GPU/Vulkan/VulkanFrameData.cpp | 2 ++ Common/GPU/Vulkan/VulkanRenderManager.cpp | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Common/GPU/Vulkan/VulkanFrameData.cpp b/Common/GPU/Vulkan/VulkanFrameData.cpp index 82a2d3958e..0ca94bd848 100644 --- a/Common/GPU/Vulkan/VulkanFrameData.cpp +++ b/Common/GPU/Vulkan/VulkanFrameData.cpp @@ -113,6 +113,8 @@ VkResult FrameData::QueuePresent(VulkanContext *vulkan, FrameDataShared &shared) // Can't move these into the if. VkPresentIdKHR presentID{ VK_STRUCTURE_TYPE_PRESENT_ID_KHR }; VkPresentTimesInfoGOOGLE presentGOOGLE{ VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE }; + + uint64_t frameId = this->frameId; VkPresentTimeGOOGLE presentTimeGOOGLE{ (uint32_t)frameId, 0 }; // it's ok to truncate this. it'll wrap around and work (if we ever reach 4 billion frames..) if (vulkan->Extensions().KHR_present_id && vulkan->GetDeviceFeatures().enabled.presentId.presentId) { presentID.pPresentIds = &frameId; diff --git a/Common/GPU/Vulkan/VulkanRenderManager.cpp b/Common/GPU/Vulkan/VulkanRenderManager.cpp index 97107a9699..db9eb35f12 100644 --- a/Common/GPU/Vulkan/VulkanRenderManager.cpp +++ b/Common/GPU/Vulkan/VulkanRenderManager.cpp @@ -585,7 +585,6 @@ void VulkanRenderManager::PollPresentTiming() { } } - void VulkanRenderManager::BeginFrame(bool enableProfiling, bool enableLogProfiler) { double frameBeginTime = time_now_d() VLOG("BeginFrame");