mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-02-21 20:50:29 +01:00
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:
parent
13990bd98a
commit
d6d8663a88
1 changed files with 7 additions and 2 deletions
|
|
@ -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,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue