summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/nouveau/nvc0
diff options
context:
space:
mode:
authorChristoph Bumiller <[email protected]>2013-05-12 15:41:29 +0200
committerIlia Mirkin <[email protected]>2014-05-23 12:34:38 -0400
commit7d11b761f248ebf5cc2c6732e67656f828afb110 (patch)
tree1d2f469956357df756f123526d5c9dc37835622e /src/gallium/drivers/nouveau/nvc0
parent8dc4a98c44a824630f3cc234136833dbac9a1f4c (diff)
nv50,nvc0: always pull out bufctx on context destruction
Reviewed-by: Ilia Mirkin <[email protected]> Cc: "10.2" <[email protected]>
Diffstat (limited to 'src/gallium/drivers/nouveau/nvc0')
-rw-r--r--src/gallium/drivers/nouveau/nvc0/nvc0_context.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/gallium/drivers/nouveau/nvc0/nvc0_context.c b/src/gallium/drivers/nouveau/nvc0/nvc0_context.c
index 83c8c34fa5b..e5040c46332 100644
--- a/src/gallium/drivers/nouveau/nvc0/nvc0_context.c
+++ b/src/gallium/drivers/nouveau/nvc0/nvc0_context.c
@@ -123,11 +123,12 @@ nvc0_destroy(struct pipe_context *pipe)
{
struct nvc0_context *nvc0 = nvc0_context(pipe);
- if (nvc0->screen->cur_ctx == nvc0) {
- nvc0->base.pushbuf->kick_notify = NULL;
+ if (nvc0->screen->cur_ctx == nvc0)
nvc0->screen->cur_ctx = NULL;
- nouveau_pushbuf_bufctx(nvc0->base.pushbuf, NULL);
- }
+ /* Unset bufctx, we don't want to revalidate any resources after the flush.
+ * Other contexts will always set their bufctx again on action calls.
+ */
+ nouveau_pushbuf_bufctx(nvc0->base.pushbuf, NULL);
nouveau_pushbuf_kick(nvc0->base.pushbuf, nvc0->base.pushbuf->channel);
nvc0_context_unreference_resources(nvc0);