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

Reply via email to