summaryrefslogtreecommitdiffstats
path: root/src/gallium
diff options
context:
space:
mode:
authorFrancisco Jerez <[email protected]>2012-04-25 23:48:47 +0200
committerChristoph Bumiller <[email protected]>2013-03-12 12:55:33 +0100
commit12f65e38c004c54f2e7c3c75b8151bb89a654f0c (patch)
tree77373b36e5c67d1e3ae47a628abae4c28ff6920d /src/gallium
parent543d0328853f60b88748b28ba702f5f12f000b95 (diff)
nouveau: Bail out from nouveau_fence_wait if flushing the pushbuf fails.
Diffstat (limited to 'src/gallium')
-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 d2f98654f31..669aced7815 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);