nouveau: Bail out from nouveau_fence_wait if flushing the pushbuf fails.
authorFrancisco Jerez <currojerez@riseup.net>
Wed, 25 Apr 2012 21:48:47 +0000 (23:48 +0200)
committerChristoph Bumiller <e0425955@student.tuwien.ac.at>
Tue, 12 Mar 2013 11:55:33 +0000 (12:55 +0100)
src/gallium/drivers/nouveau/nouveau_fence.c

index d2f98654f319137b80749144a92125fb538f6e50..669aced7815cf9ff4c635d18795a69c26f6fbf23 100644 (file)
@@ -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);