X Strike Force XFree86 SVN commit: r1078 - in trunk/debian: . patches
Author: branden
Date: 2004-02-19 17:30:01 -0500 (Thu, 19 Feb 2004)
New Revision: 1078
Added:
trunk/debian/patches/072_Xserver_fb_convert_RGB_to_BGR.diff
Modified:
trunk/debian/changelog
Log:
Apply patch by David S. Miller to implement support for RGB->BGR
colorspace conversion in the X server's fb layer.
Modified: trunk/debian/changelog
===================================================================
--- trunk/debian/changelog 2004-02-19 22:06:55 UTC (rev 1077)
+++ trunk/debian/changelog 2004-02-19 22:30:01 UTC (rev 1078)
@@ -47,8 +47,12 @@
enables numeric keypad period key for Brazilian ABNT2 keyboards (thanks,
Michael Loos!). (Closes: #233621)
- -- Branden Robinson <branden@debian.org> Thu, 19 Feb 2004 16:53:01 -0500
+ * Apply patch by David S. Miller to implement support for RGB->BGR
+ colorspace conversion in the X server's fb layer.
+ - debian/patches/072_Xserver_fb_convert_RGB_to_BGR.diff
+ -- Branden Robinson <branden@debian.org> Thu, 19 Feb 2004 17:28:19 -0500
+
xfree86 (4.3.0-2) unstable; urgency=low
* The "It's like I have a shotgun in my mouth, I've got my finger on the
Added: trunk/debian/patches/072_Xserver_fb_convert_RGB_to_BGR.diff
===================================================================
--- trunk/debian/patches/072_Xserver_fb_convert_RGB_to_BGR.diff 2004-02-19 22:06:55 UTC (rev 1077)
+++ trunk/debian/patches/072_Xserver_fb_convert_RGB_to_BGR.diff 2004-02-19 22:30:01 UTC (rev 1078)
@@ -0,0 +1,96 @@
+$Id$
+
+Fix up case where we need to convert RGB->BGR (fixes SDL under sunffb, for
+example).
+
+This patch by David S. Miller via Ben Collins.
+
+Not submitted to XFree86.
+
+--- xc.orig/programs/Xserver/fb/fbpict.c 2002-12-13 20:46:02.000000000 -0500
++++ xc/programs/Xserver/fb/fbpict.c 2004-02-17 10:44:46.000000000 -0500
+@@ -99,7 +99,7 @@
+ return m|n|o|p;
+ }
+
+-#define fbComposeGetSolid(pict, bits) { \
++#define fbComposeGetSolid(pict, bits, fmt) { \
+ FbBits *__bits__; \
+ FbStride __stride__; \
+ int __bpp__; \
+@@ -120,6 +120,14 @@
+ default: \
+ return; \
+ } \
++ /* If necessary, convert RGB <--> BGR. */ \
++ if (PICT_FORMAT_TYPE((pict)->format) != PICT_FORMAT_TYPE(fmt)) \
++ { \
++ (bits) = (((bits) & 0xff000000) | \
++ (((bits) & 0x00ff0000) >> 16) | \
++ (((bits) & 0x0000ff00) >> 0) | \
++ (((bits) & 0x000000ff) << 16)); \
++ } \
+ /* manage missing src alpha */ \
+ if ((pict)->pFormat->direct.alphaMask == 0) \
+ (bits) |= 0xff000000; \
+@@ -162,13 +170,13 @@
+ FbStride dstStride, maskStride;
+ CARD16 w;
+
+- fbComposeGetSolid(pSrc, src);
++ fbComposeGetSolid(pSrc, src, pDst->format);
+
+ dstMask = FbFullMask (pDst->pDrawable->depth);
+ srca = src >> 24;
+ if (src == 0)
+ return;
+-
++
+ fbComposeGetStart (pDst, xDst, yDst, CARD32, dstStride, dstLine, 1);
+ fbComposeGetStart (pMask, xMask, yMask, CARD8, maskStride, maskLine, 1);
+
+@@ -221,7 +229,7 @@
+ CARD16 w;
+ CARD32 m, n, o, p;
+
+- fbComposeGetSolid(pSrc, src);
++ fbComposeGetSolid(pSrc, src, pDst->format);
+
+ dstMask = FbFullMask (pDst->pDrawable->depth);
+ srca = src >> 24;
+@@ -294,7 +302,7 @@
+ FbStride dstStride, maskStride;
+ CARD16 w;
+
+- fbComposeGetSolid(pSrc, src);
++ fbComposeGetSolid(pSrc, src, pDst->format);
+
+ srca = src >> 24;
+ if (src == 0)
+@@ -356,7 +364,7 @@
+ FbStride dstStride, maskStride;
+ CARD16 w;
+
+- fbComposeGetSolid(pSrc, src);
++ fbComposeGetSolid(pSrc, src, pDst->format);
+
+ srca = src >> 24;
+ if (src == 0)
+@@ -421,7 +429,7 @@
+ CARD16 w;
+ CARD32 m, n, o;
+
+- fbComposeGetSolid(pSrc, src);
++ fbComposeGetSolid(pSrc, src, pDst->format);
+
+ srca = src >> 24;
+ if (src == 0)
+@@ -826,7 +834,7 @@
+ int maskXoff, maskYoff;
+ FbBits src;
+
+- fbComposeGetSolid(pSrc, src);
++ fbComposeGetSolid(pSrc, src, pDst->format);
+
+ if ((src & 0xff000000) != 0xff000000)
+ {
Property changes on: trunk/debian/patches/072_Xserver_fb_convert_RGB_to_BGR.diff
___________________________________________________________________
Name: svn:keywords
+ Id
Reply to: