call _mesa_delete_texture_object() from in the driver's DeleteTexture function
authorBrian Paul <brian.paul@tungstengraphics.com>
Sun, 11 Jan 2004 16:27:53 +0000 (16:27 +0000)
committerBrian Paul <brian.paul@tungstengraphics.com>
Sun, 11 Jan 2004 16:27:53 +0000 (16:27 +0000)
src/mesa/drivers/dri/gamma/gamma_tex.c
src/mesa/drivers/dri/i810/i810tex.c
src/mesa/drivers/dri/i830/i830_tex.c
src/mesa/drivers/dri/r128/r128_tex.c
src/mesa/drivers/dri/r200/r200_tex.c
src/mesa/drivers/dri/radeon/radeon_tex.c
src/mesa/drivers/dri/sis/sis_tex.c
src/mesa/drivers/dri/tdfx/tdfx_tex.c

index 22ca14458234dadbc25f358c198173813e12a65b..72359848228bdca11d34e0d6a45786a17c70ae77 100644 (file)
@@ -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, 
index f2ebd35c9acb59e3fd837ac1509a38cd015b4c09..31e5207eb2a754a08a42e9533ce9c73c7789acf3 100644 (file)
@@ -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 *
index 14a70a0905e156c4c5fcb088978d56955f84fb59..8067e5d6950d2f9f2a2449c0e19080112419a690 100644 (file)
@@ -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);
 }
 
 
index 51c55141d805e7c6f41a4340d89209b52f3c8cbc..c5fb0dbffeb464c052c06691286ff97d85b921cc 100644 (file)
@@ -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 )
index f64bc2f089dff11d6ef9097b3c140d9ff75bbb80..c56fd69d866853e523b8e524583543feef48c851 100644 (file)
@@ -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:  
index 73825a8d909b59e266e423fbaa9af08cf738832a..0daae1fab9bb2f72e8b19efd1dc6fb9c4e2c2e9c 100644 (file)
@@ -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:  
index 6056e9293cc19bde15bed187eed3205b7d0e6a09..13c82652ea04782828fbd68f12f32d1407340ed6 100644 (file)
@@ -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,
index bffee9606688287a7b3f0cf41b54be930db80d89..1e3dbdf38e01a333c6ffc57b52786639e742c042 100644 (file)
@@ -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);
     }
 }