From 24815bd7b3b50d2e634b56ca607856ecf08ec4ee Mon Sep 17 00:00:00 2001 From: Gustaw Smolarczyk Date: Thu, 6 Oct 2016 01:09:54 +0200 Subject: [PATCH] radv: Skip already signalled fences. If the user created a fence with VK_FENCE_CREATE_SIGNALED_BIT set, we shouldn't fail to wait for a fence if it was not submitted since that is not necessary. Reviewed-by: Bas Nieuwenhuizen Signed-off-by: Dave Airlie --- src/amd/vulkan/radv_device.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c index e9e00eb9673..8c59344a3c8 100644 --- a/src/amd/vulkan/radv_device.c +++ b/src/amd/vulkan/radv_device.c @@ -1119,12 +1119,12 @@ VkResult radv_WaitForFences( RADV_FROM_HANDLE(radv_fence, fence, pFences[i]); bool expired = false; - if (!fence->submitted) - return VK_TIMEOUT; - if (fence->signalled) continue; + if (!fence->submitted) + return VK_TIMEOUT; + expired = device->ws->fence_wait(device->ws, fence->fence, true, timeout); if (!expired) return VK_TIMEOUT; -- 2.30.2