From fdffd93949aab2175a84b928602bbee0bfe09010 Mon Sep 17 00:00:00 2001 From: Powei Feng Date: Thu, 14 Sep 2023 17:09:33 -0700 Subject: [PATCH] vulkan: fix fence deadlock (#7173) Should only reset fences in VulkanCommands::gc --- filament/backend/src/vulkan/VulkanCommands.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/filament/backend/src/vulkan/VulkanCommands.cpp b/filament/backend/src/vulkan/VulkanCommands.cpp index 8a2b2c61a7..45e55ac3f5 100644 --- a/filament/backend/src/vulkan/VulkanCommands.cpp +++ b/filament/backend/src/vulkan/VulkanCommands.cpp @@ -287,7 +287,8 @@ bool VulkanCommands::flush() { slog.i << "Submitting cmdbuffer=" << cmdbuffer << " wait=(" << signals[0] << ", " << signals[1] << ") " << " signal=" << renderingFinished - << io::endl; + << " fence=" << currentbuf->fence->fence + << utils::io::endl; #endif auto& cmdfence = currentbuf->fence; @@ -339,7 +340,7 @@ void VulkanCommands::wait() { } if (count > 0) { vkWaitForFences(mDevice, count, fences, VK_TRUE, UINT64_MAX); - vkResetFences(mDevice, count, fences); + updateFences(); } }