AIGLX on Radeon Mobility

Adam Jackson ajax at nwnk.net
Fri Feb 24 08:30:24 PST 2006


On Thursday 23 February 2006 13:31, Owen Taylor wrote:
> But updating textures should be irrelevant when dragging windows around,
> right?

You'd think that.  The problem is we don't update textures only when the 
windows they're bound to get updated, but many other times too.

> Could damage bugs be causing excessive texture updates? luminocity
> needed some hacks to the X server to work around excessive exposes being
> generated by DAMAGE.

I've been staring at the Damage code for a while to figure out how to properly 
suppress Damages to the moved window during XMoveWindow.  I've failed at it 
about three times now but hopefully won't fail the fourth.  My most recent 
effort can be seen in the redhat-xdc2006 branch, which mostly worked but 
relied on always winning a particular race condition.

But then the other problem is you still have to redraw the exposed areas, and 
if those textures got kicked out of vram between the last time they were 
drawn and now, you lose.  This happens quite frequently because our drivers 
suck and have little to no concept of memory management, a refrain that 
should sound pretty familiar right now.  So if it sounds like I'm punting 
until that work approaches generally usable, well, I am.

And at least in the metacity case, we really do redraw the entire scene, which 
means we have to shove a texture for _every_ visible pixmap into VRAM before 
glXSwapBuffers.  compiz is slightly smarter but relies on having accelerated 
glCopyPixels, which is probably a win overall.

- ajax
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg/attachments/20060224/45876f10/attachment.pgp>


More information about the xorg mailing list