summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Romanick <ian.d.romanick@intel.com>2011-03-28 10:13:25 -0700
committerIan Romanick <ian.d.romanick@intel.com>2011-03-28 19:54:51 -0700
commite21beaeb10711a38276d704c4e058cb07f9b23e6 (patch)
tree586a44fe2dee499018a41cef7a79ff7c71f869f3
parent92e29dc5b0474c073b0f05d60629fc6c3decfca4 (diff)
intel: Don't leak the tex object miptree when replacing it
Eventually the miptree refcounting interface should be cleaned up. The assymmetry dramatically increases the probability of bugs like this. It should be made to like like libdrm refcounting or the refcounting style used in other parts of Mesa. Fixes https://bugs.freedesktop.org/show_bug.cgi?id=33046 Reviewed-by: Eric Anholt <eric@anholt.net>
-rw-r--r--src/mesa/drivers/dri/intel/intel_tex_image.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/intel/intel_tex_image.c b/src/mesa/drivers/dri/intel/intel_tex_image.c
index 906f8a62710..b3a2b1b0c85 100644
--- a/src/mesa/drivers/dri/intel/intel_tex_image.c
+++ b/src/mesa/drivers/dri/intel/intel_tex_image.c
@@ -370,8 +370,10 @@ intelTexImage(struct gl_context * ctx,
* whole object since our level didn't fit what was there
* before, and any lower levels would fit into our miptree.
*/
- if (intelImage->mt)
+ if (intelImage->mt) {
+ intel_miptree_release(intel, &intelObj->mt);
intel_miptree_reference(&intelObj->mt, intelImage->mt);
+ }
}
/* PBO fastpaths: