From 08bedb849e37d92783cf94175d5a5b2e66c03139 Mon Sep 17 00:00:00 2001 From: baldurk Date: Tue, 16 Jan 2018 11:09:31 +0000 Subject: [PATCH] Mark fences as referenced in fence-handling functions * This is useful even if we don't faithfully replay fences, because it suppresses warnings about them being missing, and includes their creation info in the capture. --- renderdoc/driver/vulkan/wrappers/vk_sync_funcs.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/renderdoc/driver/vulkan/wrappers/vk_sync_funcs.cpp b/renderdoc/driver/vulkan/wrappers/vk_sync_funcs.cpp index 59ecdb33c..7fa3533d2 100644 --- a/renderdoc/driver/vulkan/wrappers/vk_sync_funcs.cpp +++ b/renderdoc/driver/vulkan/wrappers/vk_sync_funcs.cpp @@ -175,6 +175,7 @@ VkResult WrappedVulkan::vkGetFenceStatus(VkDevice device, VkFence fence) Serialise_vkGetFenceStatus(ser, device, fence); m_FrameCaptureRecord->AddChunk(scope.Get()); + GetResourceManager()->MarkResourceFrameReferenced(GetResID(fence), eFrameRef_Read); } return ret; @@ -220,6 +221,8 @@ VkResult WrappedVulkan::vkResetFences(VkDevice device, uint32_t fenceCount, cons Serialise_vkResetFences(ser, device, fenceCount, pFences); m_FrameCaptureRecord->AddChunk(scope.Get()); + for(uint32_t i = 0; i < fenceCount; i++) + GetResourceManager()->MarkResourceFrameReferenced(GetResID(pFences[i]), eFrameRef_Read); } return ret; @@ -265,6 +268,8 @@ VkResult WrappedVulkan::vkWaitForFences(VkDevice device, uint32_t fenceCount, Serialise_vkWaitForFences(ser, device, fenceCount, pFences, waitAll, timeout); m_FrameCaptureRecord->AddChunk(scope.Get()); + for(uint32_t i = 0; i < fenceCount; i++) + GetResourceManager()->MarkResourceFrameReferenced(GetResID(pFences[i]), eFrameRef_Read); } return ret;