Mesa (master): radeonsi: recompute the relative timeout after waiting for ready fence

Nicolai Hähnle nh at kemper.freedesktop.org
Mon Nov 20 17:17:02 UTC 2017


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

Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date:   Mon Nov 13 14:50:17 2017 +0100

radeonsi: recompute the relative timeout after waiting for ready fence

Reviewed-by: Marek Olšák <marek.olsak at amd.com>

---

 src/gallium/drivers/radeonsi/si_fence.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/gallium/drivers/radeonsi/si_fence.c b/src/gallium/drivers/radeonsi/si_fence.c
index fa80f4fd87..ff1800ce78 100644
--- a/src/gallium/drivers/radeonsi/si_fence.c
+++ b/src/gallium/drivers/radeonsi/si_fence.c
@@ -216,6 +216,11 @@ static boolean si_fence_finish(struct pipe_screen *screen,
 			if (!util_queue_fence_wait_timeout(&rfence->ready, abs_timeout))
 				return false;
 		}
+
+		if (timeout && timeout != PIPE_TIMEOUT_INFINITE) {
+			int64_t time = os_time_get_nano();
+			timeout = abs_timeout > time ? abs_timeout - time : 0;
+		}
 	}
 
 	if (rfence->sdma) {




More information about the mesa-commit mailing list