[PATCH 1/9] dri2: Fix can_exchange() to allow page-flipping on new servers.

Michel Dänzer michel at daenzer.net
Thu Feb 16 02:04:25 PST 2012


On Don, 2012-02-16 at 00:45 +0100, Mario Kleiner wrote: 
> can_exchange() fails on at least Xorg 1.12+. This fixes
> it in the same way it was fixed in the ati & intel ddx.
> 
> Signed-off-by: Mario Kleiner <mario.kleiner at tuebingen.mpg.de>
> ---
>  src/nouveau_dri2.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/src/nouveau_dri2.c b/src/nouveau_dri2.c
> index 3aa5ec5..5b62425 100644
> --- a/src/nouveau_dri2.c
> +++ b/src/nouveau_dri2.c
> @@ -160,7 +160,7 @@ can_exchange(DrawablePtr draw, PixmapPtr dst_pix, PixmapPtr src_pix)
>  	return ((DRI2CanFlip(draw) && pNv->has_pageflip)) &&
>  		dst_pix->drawable.width == src_pix->drawable.width &&
>  		dst_pix->drawable.height == src_pix->drawable.height &&
> -		dst_pix->drawable.depth == src_pix->drawable.depth &&
> +		dst_pix->drawable.bitsPerPixel == src_pix->drawable.bitsPerPixel &&
>  		dst_pix->devKind == src_pix->devKind;
>  }
>  

Actually, it seems like the pixmap depths really should match, otherwise
one could end up with the front pixmap depth not matching the window
depth. Not sure that's a real problem right now, but it seems wonky at
least...

Have you investigated why the depths don't match?


-- 
Earthling Michel Dänzer           |                   http://www.amd.com
Libre software enthusiast         |          Debian, X and DRI developer


More information about the xorg-devel mailing list