Mesa (master): r600g: fix stencil buffer ref counting on evergreen

Alex Deucher agd5f at kemper.freedesktop.org
Sun Nov 13 23:31:38 UTC 2011


Module: Mesa
Branch: master
Commit: d5e91a2364a497efb75aefe6538e64d4e5ada51a
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=d5e91a2364a497efb75aefe6538e64d4e5ada51a

Author: Vadim Girlin <vadimgirlin at gmail.com>
Date:   Sat Nov 12 22:23:34 2011 +0400

r600g: fix stencil buffer ref counting on evergreen

Signed-off-by: Vadim Girlin <vadimgirlin at gmail.com>

---

 src/gallium/drivers/r600/r600_texture.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/src/gallium/drivers/r600/r600_texture.c b/src/gallium/drivers/r600/r600_texture.c
index 50a96b4..8fe1118 100644
--- a/src/gallium/drivers/r600/r600_texture.c
+++ b/src/gallium/drivers/r600/r600_texture.c
@@ -350,6 +350,9 @@ static void r600_texture_destroy(struct pipe_screen *screen,
 	if (rtex->flushed_depth_texture)
 		pipe_resource_reference((struct pipe_resource **)&rtex->flushed_depth_texture, NULL);
 
+	if (rtex->stencil)
+		pipe_resource_reference((struct pipe_resource **)&rtex->stencil, NULL);
+
 	pb_reference(&resource->buf, NULL);
 	FREE(rtex);
 }
@@ -469,7 +472,7 @@ r600_texture_create_object(struct pipe_screen *screen,
 	}
 
 	if (rtex->stencil) {
-		rtex->stencil->resource.buf = rtex->resource.buf;
+		pb_reference(&rtex->stencil->resource.buf, rtex->resource.buf);
 		rtex->stencil->resource.cs_buf = rtex->resource.cs_buf;
 	}
 	return rtex;




More information about the mesa-commit mailing list