On Mit, 2010-04-21 at 13:28 +0200, Matthew Fincham wrote: > On 20-04-10 11:15, Michel Dänzer wrote: > > > >> One unexpected thing I found was that the (x,y) of the drawable, when it > >> was a pixmap, was not (0,0) but an apparently random number. This may > >> point to a problem with what I have done, but it is worked around (see > >> xf86xv.c:1819). > >> > > Are you using XAA? Textured video to pixmaps can't work reliably with > > that. Use EXA (or UXA with newer versions of the intel driver). > > > I have been using XAA, but it doesn't work when using EXA either
The difference is with the latter you have a chance to make it work. :) > 1. Does REGION_INIT/REGION_UNINIT need to be called when using a pixmap? I assume you're referring to ClipRegion. It certainly looks like that may not be initialized properly. Probably best to use REGION_INIT() as is done for WinRegion in the window path. Then you can trace in the driver if it's processing a single cliprect as expected. > 2. Any reason why the drawable (x,y) is not (0,0) when it is a pixmap - > should it be? The position seems to vary quite a bit, and the numbers > seem quite large (>2000). It's an artifact of how XAA handles pixmaps. > 3. Pixmap memory - is it card or system memory? With EXA, the driver can ensure that the pixmap is GPU accessible. The code for that should already be there, at the driver level there should be no difference whether the pixmap is retrieved with pScreen->GetWindowPixmap or passed in directly. -- Earthling Michel Dänzer | http://www.vmware.com Libre software enthusiast | Debian, X and DRI developer _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
