summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Agner <stefan@agner.ch>2016-12-22 15:41:06 +0100
committerAdam Jackson <ajax@redhat.com>2018-07-10 13:28:37 -0400
commit1c7f34e99ff9750979a03ae20c6be1f2b42c284c (patch)
tree44d9576cd48011358f3423b8c1abecc5d07aae9d
parentd95a1310ef8e08a93a28f9766d1b4093f7891404 (diff)
modesetting: Fix 16 bit depth/bpp mode
When setting DefaultDepth to 16 in the Screen section, the current code requests a 32 bpp framebuffer, however the X-Server seems to assumes 16 bpp. Fixes commit 21217d02168d ("modesetting: Implement 32->24 bpp conversion in shadow update") Reviewed-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Stefan Agner <stefan@agner.ch>
-rw-r--r--hw/xfree86/drivers/modesetting/driver.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/hw/xfree86/drivers/modesetting/driver.c b/hw/xfree86/drivers/modesetting/driver.c
index a4912a971..4a6643961 100644
--- a/hw/xfree86/drivers/modesetting/driver.c
+++ b/hw/xfree86/drivers/modesetting/driver.c
@@ -940,7 +940,7 @@ PreInit(ScrnInfoPtr pScrn, int flags)
"Using 24bpp hw front buffer with 32bpp shadow\n");
defaultbpp = 32;
} else {
- ms->drmmode.kbpp = defaultbpp;
+ ms->drmmode.kbpp = 0;
}
bppflags = PreferConvert24to32 | SupportConvert24to32 | Support32bppFb;
@@ -961,6 +961,8 @@ PreInit(ScrnInfoPtr pScrn, int flags)
return FALSE;
}
xf86PrintDepthBpp(pScrn);
+ if (!ms->drmmode.kbpp)
+ ms->drmmode.kbpp = pScrn->bitsPerPixel;
/* Process the options */
xf86CollectOptions(pScrn, NULL);