A bit ago, I got fed up by the unusable performance of this, so I decided to try and see what the minimum changes are to make the 3D driver texture from offscreen pixmap memory directly. To my surprise, they're relatively small. I have it working with the r300 driver on my PowerBook with the patches at
http://people.freedesktop.org/~daenzer/aiglx-zero-copy-tfp/ The basic idea is to update the driver specific 'offset' for bound pixmaps before dispatching a GLX render request and to flush immediately afterwards if there are any pixmaps bound. This should ensure that the 3D driver can use pixmaps for texturing directly regardless of the X server moving them around. This is only possible with EXA, not with XAA for several reasons. Note that this is by no means a final solution for GLX_EXT_texture_from_pixmap but a quick'n'dirty fix for the immediate performance issues. The final solution will require a real memory manager and could look something like http://dri.freedesktop.org/wiki/DirectRenderingToRedirectedWindows . That said, I showed an earlier version of these patches to Kristian Høgsberg at FOSDEM, and he liked them. I'd appreciate getting more reviews to avoid putting something in stone that could cause trouble later on. If there are no objections, I'll push these patches sometime in the coming days or weeks. -- Earthling Michel Dänzer | http://tungstengraphics.com Libre software enthusiast | Debian, X and DRI developer ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV -- _______________________________________________ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel