Browse Source

radv: Implement waiting on non-submitted fences.

Fixes: f4e499ec79 "radv: add initial non-conformant radv vulkan driver"
Reviewed-by: Dave Airlie <airlied@redhat.com>
tags/18.1-branchpoint
Bas Nieuwenhuizen 7 years ago
parent
commit
6968d782d3
1 changed files with 11 additions and 2 deletions
  1. 11
    2
      src/amd/vulkan/radv_device.c

+ 11
- 2
src/amd/vulkan/radv_device.c View File

@@ -2946,8 +2946,17 @@ VkResult radv_WaitForFences(
if (fence->signalled)
continue;

if (!fence->submitted)
return VK_TIMEOUT;
if (!fence->submitted) {
while(radv_get_current_time() <= timeout && !fence->submitted)
/* Do nothing */;

if (!fence->submitted)
return VK_TIMEOUT;

/* Recheck as it may have been set by submitting operations. */
if (fence->signalled)
continue;
}

expired = device->ws->fence_wait(device->ws, fence->fence, true, timeout);
if (!expired)

Loading…
Cancel
Save