On Fre, 2010-07-02 at 09:27 +0800, Cui, Hunk wrote: 
> Hi, Michel,
> 
> [Cui, Hunk] Please see below,
> >>On Don, 2010-07-01 at 13:32 +0800, Cui, Hunk wrote: 
> >>    
> >>    I mean your suggestion, now in our geode driver, I have modified the 
> >> Rotate_mem. Rotateddata has to be allocated between memoryBase and 
> >> memorySize.
> >>    Now my question: Please see the link:
> >> http://cgit.freedesktop.org/xorg/xserver/tree/exa/exa_classic.c#n170
> >> Code:
> >>    if (pExaScr->info->memoryBase && pPixData) {
> >>        if ((CARD8 *)pPixData >= pExaScr->info->memoryBase &&
> >>            ((CARD8 *)pPixData - pExaScr->info->memoryBase) <
> >>                            pExaScr->info->memorySize) {
> >>            pExaPixmap->fb_ptr = pPixData;
> >>            pExaPixmap->fb_pitch = devKind;
> >>            pExaPixmap->use_gpu_copy = TRUE;
> >>        }
> >>    }
> >> In Xserver 1.6, Does not exist the judge.
> >> In Xserver version >=1.7, Occur this judge.
> >> 
> >> My question is: 
> >>    What is effect of the judge?
> 
> >It considers the pPixData pointer passed in to be the GPU copy if it
> falls within the offscreen memory range.
> 
> [Cui, Hunk] I hope it have a more detail explain about the pPixData
> pointer. Why you said "if it falls within the offscreen memory range",

    if ((CARD8 *)pPixData >= pExaScr->info->memoryBase &&
((CARD8 *)pPixData - pExaScr->info->memoryBase) <
pExaScr->info->memorySize)

translates to 'if the pointer is after the start of EXA offscreen memory
and before the end of it', i.e. 'within the range'.


> >> What are the different between sys_ptr and fb_ptr?
> 
> >From exa_priv.h:
> >
> >    CARD8           *sys_ptr;   /**< pointer to pixmap data in system memory 
> > */
> >    CARD8           *fb_ptr;    /**< pointer to pixmap data in framebuffer 
> > memory */
> 
> >Basically, fb_* refer to the GPU copy, sys_* to the system memory copy
> of the pixmap contents.
> 
> [Cui, Hunk] In Xserver 1.6 version, only have sys_*, turn to Xserver
> 1.7, Why would the introduction of this definition about fb_*?
> Please give me some hint, How to use the fb_*?

See Maarten's commit 12aeddf5ad41902a180f8108623f356642b3e911 ('exa:
Accept scratch pixmaps with offscreen memory as such.') . Maybe Maarten
can say more about it, but AFAIR before that some special pixmaps e.g.
for rotated scanout would never be considered for hardware acceleration.


P.S. Please consider using an e-mail client which can quote properly.

-- 
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