On Fri, 31 Jan 2003, Ian Romanick wrote: > Leif Delgass wrote: > > > There are also a few failing assertions related to placeholder texture > > objects. In driTexturesGone, we need to set t->heap = heap or else the > > assertion that t->heap != NULL fails in driDestroyTextureObject when > > destroying a placeholder. > > I see the problem you're talking about here. You are correct. I > misunderstood where you meant to set t->heap to heap. I now see that > you meant to set it after the CALLOC in the 'if ( in_use )' block. Duh. :)
Right. I should have been more specific there (the actual patch would have been more clear ;) ). Do you see what I mean now about the assertions on tearing down the context? A placeholder _does_ have a memBlock, which matches the corresponding global region marked as in use. It's in the same block you refer to here that it's added to the texture_objects list. Also, a placeholder can be moved to the swapped_objects list in driAllocateTexture (another place an assertion can fail in driSwapOutTextureObject if the placeholder's t->heap == NULL). The driver's DeleteTexture callbacks on teardown won't remove any placeholders from these lists, just the "real" textures that have corresponding gl_texture_object structs (t->tObj). -- Leif Delgass http://www.retinalburn.net ------------------------------------------------------- This SF.NET email is sponsored by: SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See! http://www.vasoftware.com _______________________________________________ Dri-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/dri-devel