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

Reply via email to