[Mesa-dev] [PATCH 1/2] radv: Skip already signalled fences.

Gustaw Smolarczyk wielkiegie at gmail.com
Wed Oct 5 23:09:54 UTC 2016


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.
---
 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 1894b10..ed72109 100644
--- a/src/amd/vulkan/radv_device.c
+++ b/src/amd/vulkan/radv_device.c
@@ -1111,12 +1111,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.10.0



More information about the mesa-dev mailing list