From 8bc3ce92a2fa1b8b4ae2b928d4102389f2298917 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Sun, 11 Jan 2004 16:27:53 +0000 Subject: [PATCH] call _mesa_delete_texture_object() from in the driver's DeleteTexture function --- src/mesa/drivers/dri/gamma/gamma_tex.c | 2 ++ src/mesa/drivers/dri/i810/i810tex.c | 2 ++ src/mesa/drivers/dri/i830/i830_tex.c | 2 ++ src/mesa/drivers/dri/r128/r128_tex.c | 2 ++ src/mesa/drivers/dri/r200/r200_tex.c | 2 ++ src/mesa/drivers/dri/radeon/radeon_tex.c | 3 +++ src/mesa/drivers/dri/sis/sis_tex.c | 2 ++ src/mesa/drivers/dri/tdfx/tdfx_tex.c | 2 ++ 8 files changed, 17 insertions(+) diff --git a/src/mesa/drivers/dri/gamma/gamma_tex.c b/src/mesa/drivers/dri/gamma/gamma_tex.c index 22ca1445823..72359848228 100644 --- a/src/mesa/drivers/dri/gamma/gamma_tex.c +++ b/src/mesa/drivers/dri/gamma/gamma_tex.c @@ -366,6 +366,8 @@ static void gammaDeleteTexture( GLcontext *ctx, struct gl_texture_object *tObj ) gammaDestroyTexObj( gmesa, t ); tObj->DriverData = 0; } + /* Free mipmap images and the texture object itself */ + _mesa_delete_texture_object(ctx, tObj); } static GLboolean gammaIsTextureResident( GLcontext *ctx, diff --git a/src/mesa/drivers/dri/i810/i810tex.c b/src/mesa/drivers/dri/i810/i810tex.c index f2ebd35c9ac..31e5207eb2a 100644 --- a/src/mesa/drivers/dri/i810/i810tex.c +++ b/src/mesa/drivers/dri/i810/i810tex.c @@ -426,6 +426,8 @@ static void i810DeleteTexture( GLcontext *ctx, struct gl_texture_object *tObj ) I810_FIREVERTICES( imesa ); driDestroyTextureObject( t ); } + /* Free mipmap images and the texture object itself */ + _mesa_delete_texture_object(ctx, tObj); } static const struct gl_texture_format * diff --git a/src/mesa/drivers/dri/i830/i830_tex.c b/src/mesa/drivers/dri/i830/i830_tex.c index 14a70a0905e..8067e5d6950 100644 --- a/src/mesa/drivers/dri/i830/i830_tex.c +++ b/src/mesa/drivers/dri/i830/i830_tex.c @@ -438,6 +438,8 @@ static void i830DeleteTexture( GLcontext *ctx, struct gl_texture_object *tObj ) driDestroyTextureObject( t ); } + /* Free mipmap images and the texture object itself */ + _mesa_delete_texture_object(ctx, tObj); } diff --git a/src/mesa/drivers/dri/r128/r128_tex.c b/src/mesa/drivers/dri/r128/r128_tex.c index 51c55141d80..c5fb0dbffeb 100644 --- a/src/mesa/drivers/dri/r128/r128_tex.c +++ b/src/mesa/drivers/dri/r128/r128_tex.c @@ -578,6 +578,8 @@ static void r128DDDeleteTexture( GLcontext *ctx, driDestroyTextureObject( t ); } + /* Free mipmap images and the texture object itself */ + _mesa_delete_texture_object(ctx, tObj); } void r128DDInitTextureFuncs( GLcontext *ctx ) diff --git a/src/mesa/drivers/dri/r200/r200_tex.c b/src/mesa/drivers/dri/r200/r200_tex.c index f64bc2f089d..c56fd69d866 100644 --- a/src/mesa/drivers/dri/r200/r200_tex.c +++ b/src/mesa/drivers/dri/r200/r200_tex.c @@ -955,6 +955,8 @@ static void r200DeleteTexture( GLcontext *ctx, driDestroyTextureObject( t ); } + /* Free mipmap images and the texture object itself */ + _mesa_delete_texture_object(ctx, texObj); } /* Need: diff --git a/src/mesa/drivers/dri/radeon/radeon_tex.c b/src/mesa/drivers/dri/radeon/radeon_tex.c index 73825a8d909..0daae1fab9b 100644 --- a/src/mesa/drivers/dri/radeon/radeon_tex.c +++ b/src/mesa/drivers/dri/radeon/radeon_tex.c @@ -693,6 +693,9 @@ static void radeonDeleteTexture( GLcontext *ctx, driDestroyTextureObject( t ); } + + /* Free mipmap images and the texture object itself */ + _mesa_delete_texture_object(ctx, texObj); } /* Need: diff --git a/src/mesa/drivers/dri/sis/sis_tex.c b/src/mesa/drivers/dri/sis/sis_tex.c index 6056e9293cc..13c82652ea0 100644 --- a/src/mesa/drivers/dri/sis/sis_tex.c +++ b/src/mesa/drivers/dri/sis/sis_tex.c @@ -203,6 +203,8 @@ sisDDDeleteTexture( GLcontext * ctx, struct gl_texture_object *texObj ) FREE(t); texObj->DriverData = NULL; + /* Free mipmap images and the texture object itself */ + _mesa_delete_texture_object(ctx, texObj); } static GLboolean sisDDIsTextureResident( GLcontext * ctx, diff --git a/src/mesa/drivers/dri/tdfx/tdfx_tex.c b/src/mesa/drivers/dri/tdfx/tdfx_tex.c index bffee960668..1e3dbdf38e0 100644 --- a/src/mesa/drivers/dri/tdfx/tdfx_tex.c +++ b/src/mesa/drivers/dri/tdfx/tdfx_tex.c @@ -449,6 +449,8 @@ tdfxDDDeleteTexture(GLcontext * ctx, struct gl_texture_object *tObj) tdfxContextPtr fxMesa = TDFX_CONTEXT(ctx); tdfxTMFreeTexture(fxMesa, tObj); fxMesa->new_state |= TDFX_NEW_TEXTURE; + /* Free mipmap images and the texture object itself */ + _mesa_delete_texture_object(ctx, tObj); } } -- 2.30.2