From: Marcin Slusarz Date: Thu, 14 Jun 2012 19:48:46 +0000 (+0200) Subject: nv50,nvc0: fix stream output target buffer leak X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=fc782bcbf04f036990f69b14e01304e1e6dc8fd1;p=mesa.git nv50,nvc0: fix stream output target buffer leak It manifests at exit as: "WARNING: destroying GPU memory cache with some buffers still in use" --- 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); }