[PATCH] Use 16bpp when running in virt and on XenSource gfx

Mark Kettenis mark.kettenis at xs4all.nl
Tue Apr 26 09:54:58 UTC 2016


> From: Stefan Dirsch <sndirsch at suse.de>
> Date: Tue, 26 Apr 2016 11:45:38 +0200
> 
> From: Frederic Crozat <fcrozat at suse.com>
> 
> Due to graphics corruption default to 16bpp in virt instead of 24 (Fedora).
> Do the same on XenSource gfx, which suffers from the same issue.

I think using magic numbers like that is unhelpful, especially without
comments.

> ---
>  src/alp_driver.c | 11 ++++++++++-
>  1 file changed, 10 insertions(+), 1 deletion(-)
> 
> diff --git a/src/alp_driver.c b/src/alp_driver.c
> index da31321..6abb476 100644
> --- a/src/alp_driver.c
> +++ b/src/alp_driver.c
> @@ -466,6 +466,7 @@ AlpPreInit(ScrnInfoPtr pScrn, int flags)
>  	vgaHWPtr hwp;
>  	MessageType from, from1;
>  	int i;
> +	int defaultdepth;
>  	int depth_flags;
>  	ClockRangePtr clockRanges;
>  	char *s;
> @@ -551,11 +552,19 @@ AlpPreInit(ScrnInfoPtr pScrn, int flags)
>  	    depth_flags |= Support32bppFb |
>  			   SupportConvert32to24 |
>  			   PreferConvert32to24;
> +
> +	/* use 16bpp in virt */
> +	if (((pCir->PciInfo->subvendor_id & 0xffff) == 0x1af4) ||
> +	    ((pCir->PciInfo->subvendor_id & 0xffff) == 0x5853))
> +	    defaultdepth = 16;
> +	else
> +	    defaultdepth = 24;
> +
>  	/*
>  	 * The first thing we should figure out is the depth, bpp, etc.
>  	 * We support both 24bpp and 32bpp layouts, so indicate that.
>  	 */
> -	if (!xf86SetDepthBpp(pScrn, 0, 0, 24, depth_flags)) {
> +	if (!xf86SetDepthBpp(pScrn, 0, 0, defaultdepth, depth_flags)) {
>  		return FALSE;
>  	} else {
>  		/* Check that the returned depth is one we support */
> -- 
> 2.6.2
> 
> _______________________________________________
> xorg-devel at lists.x.org: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: https://lists.x.org/mailman/listinfo/xorg-devel
> 
> 


More information about the xorg-devel mailing list