Mesa (master): util/u_queue: handle OS_TIMEOUT_INFINITE in util_queue_fence_wait_timeout

Nicolai Hähnle nh at kemper.freedesktop.org
Fri Nov 10 15:38:51 UTC 2017


Module: Mesa
Branch: master
Commit: f53570a7a6155c42a9cc536948f26cb18dd9f32e
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f53570a7a6155c42a9cc536948f26cb18dd9f32e

Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Fri Nov 10 10:40:41 2017 +0100

util/u_queue: handle OS_TIMEOUT_INFINITE in util_queue_fence_wait_timeout

Fixes e.g. piglit/bin/bufferstorage-persistent read -auto

Fixes: e6dbc804a87a ("winsys/amdgpu: handle cs_add_fence_dependency for deferred/unsubmitted fences")
Reviewed-by: Marek Olšák <marek.olsak at amd.com>

---

 src/util/u_queue.h | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/util/u_queue.h b/src/util/u_queue.h
index ec02815748..57753bd31b 100644
--- a/src/util/u_queue.h
+++ b/src/util/u_queue.h
@@ -38,6 +38,7 @@
 #include "util/futex.h"
 #include "util/list.h"
 #include "util/macros.h"
+#include "util/os_time.h"
 #include "util/u_atomic.h"
 #include "util/u_thread.h"
 
@@ -179,6 +180,11 @@ util_queue_fence_wait_timeout(struct util_queue_fence *fence,
    if (util_queue_fence_is_signalled(fence))
       return true;
 
+   if (abs_timeout == (int64_t)OS_TIMEOUT_INFINITE) {
+      _util_queue_fence_wait(fence);
+      return true;
+   }
+
    return _util_queue_fence_wait_timeout(fence, abs_timeout);
 }
 




More information about the mesa-commit mailing list