summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/radeonsi/si_fence.c
diff options
context:
space:
mode:
authorNicolai Hähnle <[email protected]>2017-11-13 14:50:17 +0100
committerNicolai Hähnle <[email protected]>2017-11-20 18:16:06 +0100
commit3db1ce01b1f33aaeceda4038487a4ce0ceb77267 (patch)
treee446ae99d26fd4657cdc921f118b5bfe0c0272bd /src/gallium/drivers/radeonsi/si_fence.c
parentf5ea8d18ff8b60dbd8864aad7128140e2085862d (diff)
radeonsi: recompute the relative timeout after waiting for ready fence
Reviewed-by: Marek Olšák <[email protected]>
Diffstat (limited to 'src/gallium/drivers/radeonsi/si_fence.c')
-rw-r--r--src/gallium/drivers/radeonsi/si_fence.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeonsi/si_fence.c b/src/gallium/drivers/radeonsi/si_fence.c
index fa80f4fd87a..ff1800ce785 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) {