[prev in list] [next in list] [prev in thread] [next in thread] 

List:       freedesktop-xorg-devel
Subject:    [PATCH] exa: Accept scratch pixmaps with offscreen memory as such.
From:       michel () daenzer ! net (Michel =?ISO-8859-1?Q?D=E4nzer?=)
Date:       2009-03-19 19:38:09
Message-ID: 1237491489.5256.13955.camel () thor ! local
[Download RAW message or body]

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

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic