summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/nouveau/nouveau_fence.c
diff options
context:
space:
mode:
authorFrancisco Jerez <currojerez@riseup.net>2012-04-25 23:48:47 +0200
committerChristoph Bumiller <e0425955@student.tuwien.ac.at>2013-03-12 12:55:33 +0100
commit12f65e38c004c54f2e7c3c75b8151bb89a654f0c (patch)
tree77373b36e5c67d1e3ae47a628abae4c28ff6920d /src/gallium/drivers/nouveau/nouveau_fence.c
parent543d0328853f60b88748b28ba702f5f12f000b95 (diff)
downloadexternal_mesa3d-12f65e38c004c54f2e7c3c75b8151bb89a654f0c.zip
external_mesa3d-12f65e38c004c54f2e7c3c75b8151bb89a654f0c.tar.gz
external_mesa3d-12f65e38c004c54f2e7c3c75b8151bb89a654f0c.tar.bz2
nouveau: Bail out from nouveau_fence_wait if flushing the pushbuf fails.
Diffstat (limited to 'src/gallium/drivers/nouveau/nouveau_fence.c')
-rw-r--r--src/gallium/drivers/nouveau/nouveau_fence.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/gallium/drivers/nouveau/nouveau_fence.c b/src/gallium/drivers/nouveau/nouveau_fence.c
index d2f9865..669aced 100644
--- a/src/gallium/drivers/nouveau/nouveau_fence.c
+++ b/src/gallium/drivers/nouveau/nouveau_fence.c
@@ -195,8 +195,10 @@ nouveau_fence_wait(struct nouveau_fence *fence)
if (fence == screen->fence.current)
nouveau_fence_new(screen, &screen->fence.current, FALSE);
}
- if (fence->state < NOUVEAU_FENCE_STATE_FLUSHED)
- nouveau_pushbuf_kick(screen->pushbuf, screen->pushbuf->channel);
+ if (fence->state < NOUVEAU_FENCE_STATE_FLUSHED) {
+ if (nouveau_pushbuf_kick(screen->pushbuf, screen->pushbuf->channel))
+ return FALSE;
+ }
do {
nouveau_fence_update(screen, FALSE);