On Son, 2010-06-13 at 16:10 +0200, Maarten Maathuis wrote: > 2010/6/13 Cui, Hunk <[email protected]>: > > Hi, Maarten, > > > > In our xf86-video-geode driver, all of memories are allocated by > > GeodeAllocOffscreen, the exa offscreen memory is part of the memorySize. > > And the rotation data is not in memorySize, it is allocated after > > memorySize. > > This is exactly the reason why exa doesn't recognize it. Rotateddata > has to be allocated between memoryBase and memorySize. Only > exaAllocOffscreen can do that. > > > > > About the GeodeAllocOffscreen, it is Data structure tables, why you > > said "allocate exa offscreen memory out of a private pool"? What the diff > > between GeodeAllocOffscreen and exaOffscreen? In exaOffscreenInit, the EXA > > offscreen base and size are loaded into server, so the exa should recognize > > it as offscreen memory, furthermore, the ratate_memory(2MB) is not included > > in EXA offscreen space. > > That "pPixData - pExaScr->info->memoryBase = > > pExaScr->info->memorySize" should right. > > Just because it's right for your driver doesn't mean it's right > everywhere (the memory after memorySize could belong to another device > for example). Classic exa is made on the assumption that all memory > usable for gpu acceleration is a linear range between memoryBase and > memorySize. If you don't want this limitation then you should move to > another type of exa where the driver has more control. > > I just don't see why you cannot use exaAllocOffscreen for rotatedData, > that's what every driver has done and it works last i tried. > > What you have proposed so far is just a hack that will never be added.
Agreed. The geode driver should either allocate the memory with exaOffscreenAlloc() or not rely on EXA facilities like exaGetPixmapOffset() in the PixmapIsOffscreen driver hook. -- 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
