diff options
Diffstat (limited to 'meta/recipes-graphics/xorg-xserver/xserver-xorg/0003-modesetting-Fix-16-bit-depth-bpp-mode.patch')
| -rw-r--r-- | meta/recipes-graphics/xorg-xserver/xserver-xorg/0003-modesetting-Fix-16-bit-depth-bpp-mode.patch | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg/0003-modesetting-Fix-16-bit-depth-bpp-mode.patch b/meta/recipes-graphics/xorg-xserver/xserver-xorg/0003-modesetting-Fix-16-bit-depth-bpp-mode.patch new file mode 100644 index 0000000000..5243761f1e --- /dev/null +++ b/meta/recipes-graphics/xorg-xserver/xserver-xorg/0003-modesetting-Fix-16-bit-depth-bpp-mode.patch | |||
| @@ -0,0 +1,46 @@ | |||
| 1 | From 5028ef46ff4ab0930224b71024a7349b05610d42 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Stefan Agner <stefan@agner.ch> | ||
| 3 | Date: Thu, 22 Dec 2016 15:41:06 +0100 | ||
| 4 | Subject: [PATCH] modesetting: Fix 16 bit depth/bpp mode | ||
| 5 | |||
| 6 | When setting DefaultDepth to 16 in the Screen section, the current | ||
| 7 | code requests a 32 bpp framebuffer, however the X-Server seems to | ||
| 8 | assumes 16 bpp. | ||
| 9 | |||
| 10 | Fixes commit 21217d02168d ("modesetting: Implement 32->24 bpp | ||
| 11 | conversion in shadow update") | ||
| 12 | |||
| 13 | Signed-off-by: Stefan Agner <stefan@agner.ch> | ||
| 14 | |||
| 15 | Upstream-Status: Submitted [1] | ||
| 16 | |||
| 17 | [1] https://lists.x.org/archives/xorg-devel/2016-December/052113.html | ||
| 18 | --- | ||
| 19 | hw/xfree86/drivers/modesetting/driver.c | 4 +++- | ||
| 20 | 1 file changed, 3 insertions(+), 1 deletion(-) | ||
| 21 | |||
| 22 | diff --git a/hw/xfree86/drivers/modesetting/driver.c b/hw/xfree86/drivers/modesetting/driver.c | ||
| 23 | index d7030e5..647ad83 100644 | ||
| 24 | --- a/hw/xfree86/drivers/modesetting/driver.c | ||
| 25 | +++ b/hw/xfree86/drivers/modesetting/driver.c | ||
| 26 | @@ -930,7 +930,7 @@ PreInit(ScrnInfoPtr pScrn, int flags) | ||
| 27 | "Using 24bpp hw front buffer with 32bpp shadow\n"); | ||
| 28 | defaultbpp = 32; | ||
| 29 | } else { | ||
| 30 | - ms->drmmode.kbpp = defaultbpp; | ||
| 31 | + ms->drmmode.kbpp = 0; | ||
| 32 | } | ||
| 33 | bppflags = PreferConvert24to32 | SupportConvert24to32 | Support32bppFb; | ||
| 34 | |||
| 35 | @@ -950,6 +950,8 @@ PreInit(ScrnInfoPtr pScrn, int flags) | ||
| 36 | return FALSE; | ||
| 37 | } | ||
| 38 | xf86PrintDepthBpp(pScrn); | ||
| 39 | + if (!ms->drmmode.kbpp) | ||
| 40 | + ms->drmmode.kbpp = pScrn->bitsPerPixel; | ||
| 41 | |||
| 42 | /* Process the options */ | ||
| 43 | xf86CollectOptions(pScrn, NULL); | ||
| 44 | -- | ||
| 45 | 2.7.4 | ||
| 46 | |||
