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.

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


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