intel: Fix intelSetTexBuffer miptree leak.

The intelImage also holds a reference to the miptree, so unref that as well.
(cherry picked from commit 5b354d39d4)
This commit is contained in:
Kristian Høgsberg 2009-02-13 11:05:54 -05:00 committed by Ian Romanick
parent 13990bd98a
commit d6d8663a88

View file

@ -753,16 +753,21 @@ intelSetTexBuffer(__DRIcontext *pDRICtx, GLint target, __DRIdrawable *dPriv)
_mesa_lock_texture(&intel->ctx, texObj);
texImage = _mesa_get_tex_image(&intel->ctx, texObj, target, level);
intelImage = intel_texture_image(texImage);
if (intelImage->mt) {
intel_miptree_release(intel, &intelImage->mt);
assert(!texImage->Data);
}
if (intelObj->mt)
intel_miptree_release(intel, &intelObj->mt);
intelObj->mt = mt;
texImage = _mesa_get_tex_image(&intel->ctx, texObj, target, level);
_mesa_init_teximage_fields(&intel->ctx, target, texImage,
rb->region->width, rb->region->height, 1,
0, internalFormat);
intelImage = intel_texture_image(texImage);
intelImage->face = target_to_face(target);
intelImage->level = level;
texImage->TexFormat = intelChooseTextureFormat(&intel->ctx, internalFormat,