Hello community,

here is the log from the commit of package xorg-x11-server for openSUSE:Factory 
checked in at 2014-08-28 10:01:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xorg-x11-server (Old)
 and      /work/SRC/openSUSE:Factory/.xorg-x11-server.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "xorg-x11-server"

Changes:
--------
--- /work/SRC/openSUSE:Factory/xorg-x11-server/xorg-x11-server.changes  
2014-08-20 17:52:40.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.xorg-x11-server.new/xorg-x11-server.changes     
2014-08-28 10:01:59.000000000 +0200
@@ -1,0 +2,10 @@
+Mon Aug 18 17:33:34 CEST 2014 - [email protected]
+
+- A better fix for 24bpp graphics problem with cirrus KMS
+  (bnc#890599); Adding a new patch:
+  U_fb-Fix-invalid-bpp-for-24bit-depth-window.patch
+  while obsoleting two patches:
+  
u_render-Don-t-generate-invalid-pixman-format-when-using-a-24bpp-framebuffer-with-a-32bit-depth-visual.patch
+  
u_fb-Correctly-implement-CopyArea-when-using-a-window-with-depth-32-and-24bpp.patch
+
+-------------------------------------------------------------------

Old:
----
  
u_fb-Correctly-implement-CopyArea-when-using-a-window-with-depth-32-and-24bpp.patch
  
u_render-Don-t-generate-invalid-pixman-format-when-using-a-24bpp-framebuffer-with-a-32bit-depth-visual.patch

New:
----
  U_fb-Fix-invalid-bpp-for-24bit-depth-window.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ xorg-x11-server.spec ++++++
--- /var/tmp/diff_new_pack.eIEJqk/_old  2014-08-28 10:02:00.000000000 +0200
+++ /var/tmp/diff_new_pack.eIEJqk/_new  2014-08-28 10:02:00.000000000 +0200
@@ -156,8 +156,7 @@
 Patch111:       u_CloseConsole-Don-t-report-FatalError-when-shutting-down.patch
 Patch112:       
u_render-Cast-color-masks-to-unsigned-long-before-shifting-them.patch
 Patch130:       
U_BellProc-Send-bell-event-on-core-protocol-bell-when-requested.patch
-Patch131:       
u_render-Don-t-generate-invalid-pixman-format-when-using-a-24bpp-framebuffer-with-a-32bit-depth-visual.patch
-Patch132:       
u_fb-Correctly-implement-CopyArea-when-using-a-window-with-depth-32-and-24bpp.patch
+Patch131:       U_fb-Fix-invalid-bpp-for-24bit-depth-window.patch
 
 Patch1000:      n_xserver-optimus-autoconfig-hack.patch
 
@@ -240,7 +239,6 @@
 %patch112 -p1
 %patch130 -p1
 %patch131 -p1
-%patch132 -p1
 %patch1000 -p1
 
 ### disabled for now

++++++ U_fb-Fix-invalid-bpp-for-24bit-depth-window.patch ++++++
>From fe5018e0564118a7a8198fa286186fdb9ed818c7 Mon Sep 17 00:00:00 2001
From: Takashi Iwai <[email protected]>
Date: Tue, 19 Aug 2014 15:57:22 -0500
Subject: [PATCH] fb: Fix invalid bpp for 24bit depth window

We have a hack in fb layer for a 24bpp screen to use 32bpp images, and
fbCreateWindow() replaces its drawable.bitsPerPixel field
appropriately.  But, the problem is that it always replaces when 32bpp
is passed.  If the depth is 32, this results in bpp < depth, which is
actually invalid.

Meanwhile, fbCreatePixmap() has a more check and it creates with 24bpp
only when the passed depth <= 24 for avoiding such a problem.

This oneliner patch just adds the similar check in fbCreateWindow().
This (hopefully) fixes the long-standing broken graphics mess of
cirrus KMS with 24bpp.

Signed-off-by: Takashi Iwai <[email protected]>
Reviewed-by: Keith Packard <[email protected]>
---
 fb/fbwindow.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fb/fbwindow.c b/fb/fbwindow.c
index 368c4b883b31..c90175faa078 100644
--- a/fb/fbwindow.c
+++ b/fb/fbwindow.c
@@ -33,7 +33,7 @@ fbCreateWindow(WindowPtr pWin)
 {
     dixSetPrivate(&pWin->devPrivates, fbGetWinPrivateKey(pWin),
                   fbGetScreenPixmap(pWin->drawable.pScreen));
-    if (pWin->drawable.bitsPerPixel == 32)
+    if (pWin->drawable.bitsPerPixel == 32 && pWin->drawable.depth <= 24)
         pWin->drawable.bitsPerPixel =
             fbGetScreenPrivate(pWin->drawable.pScreen)->win32bpp;
     return TRUE;
-- 
2.0.4

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to