From fc782bcbf04f036990f69b14e01304e1e6dc8fd1 Mon Sep 17 00:00:00 2001 From: Marcin Slusarz Date: Thu, 14 Jun 2012 21:48:46 +0200 Subject: [PATCH] nv50,nvc0: fix stream output target buffer leak It manifests at exit as: "WARNING: destroying GPU memory cache with some buffers still in use" --- src/gallium/drivers/nv50/nv50_state.c | 1 + src/gallium/drivers/nvc0/nvc0_state.c | 1 + 2 files changed, 2 insertions(+) diff --git a/src/gallium/drivers/nv50/nv50_state.c b/src/gallium/drivers/nv50/nv50_state.c index 81c3fa24ab0..2052f914258 100644 --- a/src/gallium/drivers/nv50/nv50_state.c +++ b/src/gallium/drivers/nv50/nv50_state.c @@ -983,6 +983,7 @@ nv50_so_target_destroy(struct pipe_context *pipe, struct nv50_so_target *targ = nv50_so_target(ptarg); if (targ->pq) pipe->destroy_query(pipe, targ->pq); + pipe_resource_reference(&targ->pipe.buffer, NULL); FREE(targ); } diff --git a/src/gallium/drivers/nvc0/nvc0_state.c b/src/gallium/drivers/nvc0/nvc0_state.c index cce2a48533f..1bd54342e81 100644 --- a/src/gallium/drivers/nvc0/nvc0_state.c +++ b/src/gallium/drivers/nvc0/nvc0_state.c @@ -899,6 +899,7 @@ nvc0_so_target_destroy(struct pipe_context *pipe, { struct nvc0_so_target *targ = nvc0_so_target(ptarg); pipe->destroy_query(pipe, targ->pq); + pipe_resource_reference(&targ->pipe.buffer, NULL); FREE(targ); }