Leif Delgass wrote:
Attached is a patch to the texmem branch with the changes we've been
discussing. I'd still like to take a closer look at the global heap, but
I've included the code to force initializing the global heap on the first
lock contention for now. I've changed the drm/ddx/texmem code to use the
drmTextureRegion/drm_tex_region_t struct for the SAREA and heap
structures, but only for the drivers converted to the texmem interface. I
also added a test to driAllocateTexture that deletes a placeholder (using
t->tObj == NULL to detect a placeholder) instead of swapping it out. An
explicit flag for detecting a placeholder might make the code more clear,
but using t->tObj should work too. Since placeholders should never be on
the swapped list now, I left in the assert for the swapped list being
empty in the drivers' DestroyContext, though I added code to delete
anything on the swapped list in driDestroyTextureHeap just in case that
assertion would need to be removed for some reason.
I've also included the optimization in driTexturesGone to keep an existing
placeholder if the global region is in use and matches the size and offset
of the existing placeholder.
It this looks OK, I will apply it to the branch.
I gave the patch a quick once-over, and it looks good so far. I'm going
to study it a bit more carefully before the #dri-devel meeting. I do
have a couple comments so far, but their pretty minor.
I need to do some more testing on the Rage 128 driver, but so far things
seem to be working except for the problem in the fire Mesa demo, which is
still there. It kind of looks like a texture coordinate problem, but I'm
not sure yet.
Does r128 exhibit this problem on the trunk?
-------------------------------------------------------
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