Commit 591955d8 authored by Emil Velikov's avatar Emil Velikov
Browse files

llvmpipe: correctly handle waiting in llvmpipe_fence_finish



Currently if the timeout differs from 0, we'll end up with infinite
wait... even if the user is perfectly clear they don't want that.

Use the new lp_fence_timedwait() helper guarding both waits in an
!lp_fence_signalled block like the rest of llvmpipe.
Signed-off-by: Emil Velikov's avatarEmil Velikov <emil.velikov@collabora.com>
Reviewed-by: default avatarRoland Scheidegger <sroland@vmware.com>
parent 5b284fe6
......@@ -637,7 +637,12 @@ llvmpipe_fence_finish(struct pipe_screen *screen,
if (!timeout)
return lp_fence_signalled(f);
lp_fence_wait(f);
if (!lp_fence_signalled(f)) {
if (timeout != PIPE_TIMEOUT_INFINITE)
return lp_fence_timedwait(f, timeout);
lp_fence_wait(f);
}
return TRUE;
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment