diff options
author | Marek Olšák <maraeo@gmail.com> | 2011-03-05 21:23:54 +0100 |
---|---|---|
committer | Marek Olšák <maraeo@gmail.com> | 2011-03-08 23:52:37 +0100 |
commit | b39bccbd4ed71e9585da4cf5acf7b887b2e90899 (patch) | |
tree | 8aafddda49b4d4e4cdf19ec76350583b7c4d41b4 /src/gallium/state_trackers/xorg | |
parent | 5257a6dbc65d742e6d0fcf4278a4157b2f39fdf7 (diff) | |
download | external_mesa3d-b39bccbd4ed71e9585da4cf5acf7b887b2e90899.zip external_mesa3d-b39bccbd4ed71e9585da4cf5acf7b887b2e90899.tar.gz external_mesa3d-b39bccbd4ed71e9585da4cf5acf7b887b2e90899.tar.bz2 |
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/gallium/state_trackers/xorg')
-rw-r--r-- | src/gallium/state_trackers/xorg/xorg_dri2.c | 3 | ||||
-rw-r--r-- | src/gallium/state_trackers/xorg/xorg_driver.c | 6 | ||||
-rw-r--r-- | src/gallium/state_trackers/xorg/xorg_exa.c | 3 |
3 files changed, 8 insertions, 4 deletions
diff --git a/src/gallium/state_trackers/xorg/xorg_dri2.c b/src/gallium/state_trackers/xorg/xorg_dri2.c index 17c34b7..6fc3e65 100644 --- a/src/gallium/state_trackers/xorg/xorg_dri2.c +++ b/src/gallium/state_trackers/xorg/xorg_dri2.c @@ -362,7 +362,8 @@ dri2_copy_region(DrawablePtr pDraw, RegionPtr pRegion, if (extents->x1 == 0 && extents->y1 == 0 && extents->x2 == pDraw->width && extents->y2 == pDraw->height) { - ms->screen->fence_finish(ms->screen, dst_priv->fence, 0); + ms->screen->fence_finish(ms->screen, dst_priv->fence, 0, + PIPE_TIMEOUT_INFINITE); ms->screen->fence_reference(ms->screen, &dst_priv->fence, NULL); } } diff --git a/src/gallium/state_trackers/xorg/xorg_driver.c b/src/gallium/state_trackers/xorg/xorg_driver.c index 33bcacd..9c890ff 100644 --- a/src/gallium/state_trackers/xorg/xorg_driver.c +++ b/src/gallium/state_trackers/xorg/xorg_driver.c @@ -334,7 +334,8 @@ drv_cleanup_fences(ScrnInfoPtr pScrn) for (i = 0; i < XORG_NR_FENCES; i++) { if (ms->fence[i]) { - ms->screen->fence_finish(ms->screen, ms->fence[i], 0); + ms->screen->fence_finish(ms->screen, ms->fence[i], 0, + PIPE_TIMEOUT_INFINITE); ms->screen->fence_reference(ms->screen, &ms->fence[i], NULL); } } @@ -555,7 +556,8 @@ void xorg_flush(ScreenPtr pScreen) if (ms->dirtyThrottling) { if (ms->fence[0]) ms->ctx->screen->fence_finish(ms->ctx->screen, - ms->fence[0], 0); + ms->fence[0], 0, + PIPE_TIMEOUT_INFINITE); /* The amount of rendering generated by a block handler can be * quite small. Let us get a fair way ahead of hardware before diff --git a/src/gallium/state_trackers/xorg/xorg_exa.c b/src/gallium/state_trackers/xorg/xorg_exa.c index 718a345..38d67d1 100644 --- a/src/gallium/state_trackers/xorg/xorg_exa.c +++ b/src/gallium/state_trackers/xorg/xorg_exa.c @@ -1084,7 +1084,8 @@ void xorg_exa_finish(struct exa_context *exa) xorg_exa_flush(exa, PIPE_FLUSH_RENDER_CACHE, &fence); - exa->pipe->screen->fence_finish(exa->pipe->screen, fence, 0); + exa->pipe->screen->fence_finish(exa->pipe->screen, fence, 0, + PIPE_TIMEOUT_INFINITE); exa->pipe->screen->fence_reference(exa->pipe->screen, &fence, NULL); } |