Mesa (master): radv: Skip already signalled fences.
Dave Airlie
airlied at kemper.freedesktop.org
Thu Oct 6 23:24:22 UTC 2016
Module: Mesa
Branch: master
Commit: 24815bd7b3b50d2e634b56ca607856ecf08ec4ee
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=24815bd7b3b50d2e634b56ca607856ecf08ec4ee
Author: Gustaw Smolarczyk <wielkiegie at gmail.com>
Date: Thu Oct 6 01:09:54 2016 +0200
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 <bas at basnieuwenhuizen.nl>
Signed-off-by: Dave Airlie <airlied at redhat.com>
---
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 e9e00eb..8c59344 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;
More information about the mesa-commit
mailing list