summaryrefslogtreecommitdiffstats
path: root/src/mesa/state_tracker
diff options
context:
space:
mode:
authorMarek Olšák <[email protected]>2011-03-05 21:23:54 +0100
committerMarek Olšák <[email protected]>2011-03-08 23:52:37 +0100
commitb39bccbd4ed71e9585da4cf5acf7b887b2e90899 (patch)
tree8aafddda49b4d4e4cdf19ec76350583b7c4d41b4 /src/mesa/state_tracker
parent5257a6dbc65d742e6d0fcf4278a4157b2f39fdf7 (diff)
gallium: add timeout parameter to fence_finish
This is a follow-up to the ARB_sync patch for st/mesa and completes the ARB_sync implementation.
Diffstat (limited to 'src/mesa/state_tracker')
-rw-r--r--src/mesa/state_tracker/st_cb_flush.c3
-rw-r--r--src/mesa/state_tracker/st_cb_syncobj.c4
2 files changed, 4 insertions, 3 deletions
diff --git a/src/mesa/state_tracker/st_cb_flush.c b/src/mesa/state_tracker/st_cb_flush.c
index 5a2343d3aec..35ab00f6d01 100644
--- a/src/mesa/state_tracker/st_cb_flush.c
+++ b/src/mesa/state_tracker/st_cb_flush.c
@@ -103,7 +103,8 @@ void st_finish( struct st_context *st )
st_flush(st, PIPE_FLUSH_RENDER_CACHE | PIPE_FLUSH_FRAME, &fence);
if(fence) {
- st->pipe->screen->fence_finish(st->pipe->screen, fence, 0);
+ st->pipe->screen->fence_finish(st->pipe->screen, fence, 0,
+ PIPE_TIMEOUT_INFINITE);
st->pipe->screen->fence_reference(st->pipe->screen, &fence, NULL);
}
}
diff --git a/src/mesa/state_tracker/st_cb_syncobj.c b/src/mesa/state_tracker/st_cb_syncobj.c
index 69a8678a7c0..85aad08cc70 100644
--- a/src/mesa/state_tracker/st_cb_syncobj.c
+++ b/src/mesa/state_tracker/st_cb_syncobj.c
@@ -96,8 +96,8 @@ static void st_client_wait_sync(struct gl_context *ctx,
/* We don't care about GL_SYNC_FLUSH_COMMANDS_BIT, because flush is
* already called when creating a fence. */
- if (so->fence) {
- screen->fence_finish(screen, so->fence, 0);
+ if (so->fence &&
+ screen->fence_finish(screen, so->fence, 0, timeout) == 0) {
screen->fence_reference(screen, &so->fence, NULL);
so->b.StatusFlag = GL_TRUE;
}