On Don, 2009-03-19 at 19:54 +0100, Maarten Maathuis wrote:
> ---
>  exa/exa.c |   18 +++++++++++++-----
>  1 files changed, 13 insertions(+), 5 deletions(-)
> 
> diff --git a/exa/exa.c b/exa/exa.c
> index ecb2117..a8e5374 100644
> --- a/exa/exa.c
> +++ b/exa/exa.c
> @@ -427,11 +427,19 @@ exaModifyPixmapHeader(PixmapPtr pPixmap, int width, int 
> height, int depth,
>          if (devKind > 0)
>              pExaPixmap->sys_pitch = devKind;
>  
> -     /* Is this the framebuffer (for classic exa)? */
> -     if (pPixData && pPixData == pExaScr->info->memoryBase) {
> -         pExaPixmap->fb_ptr = pPixData;
> -         pExaPixmap->fb_pitch = devKind;
> -         pExaPixmap->offscreen = TRUE;
> +     /* Classic EXA:
> +      * - Framebuffer.
> +      * - Scratch pixmap with offscreen memory.
> +      */
> +     if (!(pExaScr->info->flags & EXA_HANDLES_PIXMAPS) && 
> +             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->offscreen = TRUE;
> +         }
>       }
>  
>          if (width > 0 && height > 0 && bitsPerPixel > 0) {

Looks good, thanks.


-- 
Earthling Michel Dänzer           |                http://www.vmware.com
Libre software enthusiast         |          Debian, X and DRI developer
_______________________________________________
xorg-devel mailing list
[email protected]
http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to