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

Reply via email to