static void sisFreeTexImage( sisContextPtr smesa, sisTexObjPtr t, int level ) { assert(level >= 0); assert(level < SIS_MAX_TEXTURE_LEVELS); if (t->image[level].Data == NULL) return; switch (t->image[level].memType) { case VIDEO_TYPE: sisFreeFB( smesa, t->image[level].handle ); break; case AGP_TYPE: sisFreeAGP( smesa, t->image[level].handle ); break; } t->image[level].Data = NULL; t->image[level].handle = NULL; /* If there are no textures loaded any more, reset the hw format so the * object can be reused for new formats */ t->numImages--; if (t->numImages == 0) { t->format = 0; t->hwformat = 0; } }
void sisFreeZStencilBuffer( sisContextPtr smesa ) { sisFreeFB( smesa, smesa->zbFree ); smesa->zbFree = NULL; smesa->depthbuffer = NULL; }
void sisFreeBackbuffer( sisContextPtr smesa ) { sisFreeFB( smesa, smesa->bbFree ); smesa->backbuffer = NULL; }