diff options
author | Francisco Jerez <[email protected]> | 2012-04-25 23:48:47 +0200 |
---|---|---|
committer | Christoph Bumiller <[email protected]> | 2013-03-12 12:55:33 +0100 |
commit | 12f65e38c004c54f2e7c3c75b8151bb89a654f0c (patch) | |
tree | 77373b36e5c67d1e3ae47a628abae4c28ff6920d /src/gallium/drivers/nouveau/nouveau_fence.c | |
parent | 543d0328853f60b88748b28ba702f5f12f000b95 (diff) |
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.c | 6 |
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); |