Hello community,
here is the log from the commit of package xf86-video-cirrus for openSUSE:Factory checked in at 2013-01-11 09:44:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xf86-video-cirrus (Old)
and /work/SRC/openSUSE:Factory/.xf86-video-cirrus.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xf86-video-cirrus", Maintainer is ""
Changes:
--------
--- /work/SRC/openSUSE:Factory/xf86-video-cirrus/xf86-video-cirrus.changes 2012-12-07 14:59:07.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.xf86-video-cirrus.new/xf86-video-cirrus.changes 2013-01-11 09:44:16.000000000 +0100
@@ -1,0 +2,10 @@
+Thu Jan 10 13:23:04 UTC 2013 - sndirsch@suse.com
+
+- xf86-video-cirrus 1.5.2
+ * Remove mibstore.h
+ * cirrus: fix falling back after kernel check
+ * cirrus: fix build against old server
+ * cirrus: fix out of bounds access to shadowfb
+ * obsoletes U_cirrus_fallback_kernel_check.patch
+
+-------------------------------------------------------------------
Old:
----
U_cirrus_fallback_kernel_check.patch
xf86-video-cirrus-1.5.1.tar.bz2
New:
----
xf86-video-cirrus-1.5.2.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xf86-video-cirrus.spec ++++++
--- /var/tmp/diff_new_pack.WZQKQQ/_old 2013-01-11 09:44:18.000000000 +0100
+++ /var/tmp/diff_new_pack.WZQKQQ/_new 2013-01-11 09:44:18.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package xf86-video-cirrus
#
-# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
Name: xf86-video-cirrus
-Version: 1.5.1
+Version: 1.5.2
Release: 0
Summary: Cirrus Logic video driver for the Xorg X server
License: MIT
@@ -28,8 +28,6 @@
Patch0: u_cirrus-qemu.patch
# PATCH-FIX-UPSTREAM cirrus-1.3.2-virt-16bpp.patch fcrozat@suse.com -- Use 16bpp when running in virt (Fedora)
Patch1: u_cirrus-virt-16bpp.patch
-# PATCH-FIX-UPSTREAM U_cirrus_fallback_kernel_check.patch fcrozat@suse.com -- Fix falling back after kernel check
-Patch2: U_cirrus_fallback_kernel_check.patch
BuildRequires: pkg-config
BuildRequires: pkgconfig(fontsproto)
@@ -64,7 +62,6 @@
%setup -q
%patch0 -p1
%patch1 -p1
-%patch2 -p1
%build
%configure
++++++ xf86-video-cirrus-1.5.1.tar.bz2 -> xf86-video-cirrus-1.5.2.tar.bz2 ++++++
++++ 2426 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-cirrus-1.5.1/ChangeLog new/xf86-video-cirrus-1.5.2/ChangeLog
--- old/xf86-video-cirrus-1.5.1/ChangeLog 2012-07-17 08:19:40.000000000 +0200
+++ new/xf86-video-cirrus-1.5.2/ChangeLog 2013-01-08 11:07:47.000000000 +0100
@@ -1,3 +1,47 @@
+commit e2bf5b255611de267bc1c56b2fccf51268d28f3d
+Author: Maarten Lankhorst
+Date: Tue Jan 8 11:04:38 2013 +0100
+
+ cirrus: release 1.5.2
+
+commit bade70ce71ea26fae4f250f0bd1729dfb0d392df
+Author: Maarten Lankhorst
+Date: Tue Jan 8 11:00:33 2013 +0100
+
+ cirrus: fix out of bounds access to shadowfb
+
+ Perform the same bounds checking other drivers do. Thanks to Dave Gilbert for feedback on this patch.
+
+ Signed-off-by: Maarten Lankhorst
+
+commit 5fcb3b018797457c3099a86c6c1257b6e4e89ceb
+Author: Adam Jackson
+Date: Tue Sep 25 08:54:36 2012 -0400
+
+ Remove mibstore.h
+
+ Signed-off-by: Adam Jackson
+
+commit aa9016576163b3065910437b6ea51a69f24a41ca
+Author: Dave Airlie
+Date: Tue Aug 21 21:01:43 2012 +1000
+
+ cirrus: fix build against old server
+
+ Reported-by: jobermayer on irc
+ Signed-off-by: Dave Airlie
+
+commit bc04e9ed659be51a3c712f34a038bd60f639f9c5
+Author: Dave Airlie
+Date: Mon Aug 20 13:49:19 2012 +1000
+
+ cirrus: fix falling back after kernel check
+
+ if we find a kernel driver the code leave the pci slot claimed which
+ stops us falling back. unclaim the pci slot.
+
+ Signed-off-by: Dave Airlie
+
commit 129076c2a9c20ab515736bb7141b4f334699e21b
Author: Dave Airlie
Date: Tue Jul 17 16:05:09 2012 +1000
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-cirrus-1.5.1/configure.ac new/xf86-video-cirrus-1.5.2/configure.ac
--- old/xf86-video-cirrus-1.5.1/configure.ac 2012-07-17 08:00:16.000000000 +0200
+++ new/xf86-video-cirrus-1.5.2/configure.ac 2013-01-08 11:04:12.000000000 +0100
@@ -23,7 +23,7 @@
# Initialize Autoconf
AC_PREREQ([2.60])
AC_INIT([xf86-video-cirrus],
- [1.5.1],
+ [1.5.2],
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
[xf86-video-cirrus])
AC_CONFIG_SRCDIR([Makefile.am])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-cirrus-1.5.1/src/alp_driver.c new/xf86-video-cirrus-1.5.2/src/alp_driver.c
--- old/xf86-video-cirrus-1.5.1/src/alp_driver.c 2012-07-16 04:02:41.000000000 +0200
+++ new/xf86-video-cirrus-1.5.2/src/alp_driver.c 2013-01-08 11:00:26.000000000 +0100
@@ -39,9 +39,6 @@
/* All drivers initialising the SW cursor need this */
#include "mipointer.h"
-/* All drivers implementing backing store need this */
-#include "mibstore.h"
-
#include "micmap.h"
/* Needed by the Shadow Framebuffer */
@@ -1617,8 +1614,6 @@
if (init_picture)
fbPictureInit (pScreen, 0, 0);
- miInitializeBackingStore(pScreen);
-
/*
* Set initial black & white colourmap indices.
*/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-cirrus-1.5.1/src/cir_driver.c new/xf86-video-cirrus-1.5.2/src/cir_driver.c
--- old/xf86-video-cirrus-1.5.1/src/cir_driver.c 2012-06-05 20:34:31.000000000 +0200
+++ new/xf86-video-cirrus-1.5.2/src/cir_driver.c 2013-01-08 11:00:26.000000000 +0100
@@ -237,9 +237,10 @@
CIRChipsets, CIRPciChipsets, devSections,
numDevSections, drv, &usedChips);
/* Free it since we don't need that list after this */
- free(devSections);
- if (numUsed <= 0)
+ if (numUsed <= 0) {
+ free(devSections);
return FALSE;
+ }
if (flags & PROBE_DETECT)
foundScreen = TRUE;
else for (i = 0; i < numUsed; i++) {
@@ -257,6 +258,12 @@
pPci->device_id, pPci->bus, pPci->domain, pPci->dev, pPci->func);
xf86DrvMsg(0, X_ERROR,
"cirrus: This driver cannot operate until it has been unloaded.\n");
+#if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 13
+ xf86UnclaimPciSlot(pPci);
+#else
+ xf86UnclaimPciSlot(pPci, devSections[0]);
+#endif
+ free(devSections);
return FALSE;
}
#endif
@@ -290,6 +297,7 @@
pScrn->Probe = NULL;
}
}
+ free(devSections);
free(usedChips);
return foundScreen;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-cirrus-1.5.1/src/cir_shadow.c new/xf86-video-cirrus-1.5.2/src/cir_shadow.c
--- old/xf86-video-cirrus-1.5.1/src/cir_shadow.c 2012-06-05 20:35:18.000000000 +0200
+++ new/xf86-video-cirrus-1.5.2/src/cir_shadow.c 2013-01-02 12:13:08.000000000 +0100
@@ -15,30 +15,41 @@
#include "cir.h"
#include "alp.h"
+#define MIN(a, b) (((a) < (b)) ? (a) : (b))
+#define MAX(a, b) (((a) > (b)) ? (a) : (b))
+
_X_EXPORT void
cirRefreshArea(ScrnInfoPtr pScrn, int num, BoxPtr pbox)
{
CirPtr pCir = CIRPTR(pScrn);
- int width, height, Bpp, FBPitch;
+ int width, height, Bpp, FBPitch, x1, x2, y1, y2;
unsigned char *src, *dst;
Bpp = pScrn->bitsPerPixel >> 3;
FBPitch = BitmapBytePad(pScrn->displayWidth * pScrn->bitsPerPixel);
while(num--) {
- width = (pbox->x2 - pbox->x1) * Bpp;
- height = pbox->y2 - pbox->y1;
- src = pCir->ShadowPtr + (pbox->y1 * pCir->ShadowPitch) +
- (pbox->x1 * Bpp);
- dst = pCir->FbBase + (pbox->y1 * FBPitch) + (pbox->x1 * Bpp);
-
- while(height--) {
- memcpy(dst, src, width);
- dst += FBPitch;
- src += pCir->ShadowPitch;
- }
-
- pbox++;
+ x1 = MAX(pbox->x1, 0);
+ y1 = MAX(pbox->y1, 0);
+ x2 = MIN(pbox->x2, pScrn->virtualX);
+ y2 = MIN(pbox->y2, pScrn->virtualY);
+
+ width = (x2 - x1) * Bpp;
+ height = y2 - y1;
+
+ if (width <= 0 || height <= 0)
+ continue;
+
+ src = pCir->ShadowPtr + (y1 * pCir->ShadowPitch) + (x1 * Bpp);
+ dst = pCir->FbBase + (y1 * FBPitch) + (x1 * Bpp);
+
+ while(height--) {
+ memcpy(dst, src, width);
+ dst += FBPitch;
+ src += pCir->ShadowPitch;
+ }
+
+ pbox++;
}
}
@@ -64,7 +75,7 @@
cirRefreshArea8(ScrnInfoPtr pScrn, int num, BoxPtr pbox)
{
CirPtr pCir = CIRPTR(pScrn);
- int count, width, height, y1, y2, dstPitch, srcPitch;
+ int count, width, height, x1, x2, y1, y2, dstPitch, srcPitch;
CARD8 *dstPtr, *srcPtr, *src;
CARD32 *dst;
@@ -72,36 +83,44 @@
srcPitch = -pCir->rotate * pCir->ShadowPitch;
while(num--) {
- width = pbox->x2 - pbox->x1;
- y1 = pbox->y1 & ~3;
- y2 = (pbox->y2 + 3) & ~3;
- height = (y2 - y1) >> 2; /* in dwords */
-
- if(pCir->rotate == 1) {
- dstPtr = pCir->FbBase +
- (pbox->x1 * dstPitch) + pScrn->virtualX - y2;
- srcPtr = pCir->ShadowPtr + ((1 - y2) * srcPitch) + pbox->x1;
- } else {
- dstPtr = pCir->FbBase +
- ((pScrn->virtualY - pbox->x2) * dstPitch) + y1;
- srcPtr = pCir->ShadowPtr + (y1 * srcPitch) + pbox->x2 - 1;
- }
-
- while(width--) {
- src = srcPtr;
- dst = (CARD32*)dstPtr;
- count = height;
- while(count--) {
- *(dst++) = src[0] | (src[srcPitch] << 8) |
- (src[srcPitch * 2] << 16) |
- (src[srcPitch * 3] << 24);
- src += srcPitch * 4;
- }
- srcPtr += pCir->rotate;
- dstPtr += dstPitch;
- }
+ x1 = MAX(pbox->x1, 0);
+ y1 = MAX(pbox->y1, 0);
+ x2 = MIN(pbox->x2, pScrn->virtualX);
+ y2 = MIN(pbox->y2, pScrn->virtualY);
+
+ width = x2 - x1;
+ y1 = y1 & ~3;
+ y2 = (y2 + 3) & ~3;
+ height = (y2 - y1) / 4; /* in dwords */
+
+ if (width <= 0 || height <= 0)
+ continue;
+
+ if(pCir->rotate == 1) {
+ dstPtr = pCir->FbBase +
+ (x1 * dstPitch) + pScrn->virtualX - y2;
+ srcPtr = pCir->ShadowPtr + ((1 - y2) * srcPitch) + x1;
+ } else {
+ dstPtr = pCir->FbBase +
+ ((pScrn->virtualY - x2) * dstPitch) + y1;
+ srcPtr = pCir->ShadowPtr + (y1 * srcPitch) + x2 - 1;
+ }
+
+ while(width--) {
+ src = srcPtr;
+ dst = (CARD32*)dstPtr;
+ count = height;
+ while(count--) {
+ *(dst++) = src[0] | (src[srcPitch] << 8) |
+ (src[srcPitch * 2] << 16) |
+ (src[srcPitch * 3] << 24);
+ src += srcPitch * 4;
+ }
+ srcPtr += pCir->rotate;
+ dstPtr += dstPitch;
+ }
- pbox++;
+ pbox++;
}
}
@@ -110,7 +129,7 @@
cirRefreshArea16(ScrnInfoPtr pScrn, int num, BoxPtr pbox)
{
CirPtr pCir = CIRPTR(pScrn);
- int count, width, height, y1, y2, dstPitch, srcPitch;
+ int count, width, height, x1, x2, y1, y2, dstPitch, srcPitch;
CARD16 *dstPtr, *srcPtr, *src;
CARD32 *dst;
@@ -118,36 +137,44 @@
srcPitch = -pCir->rotate * pCir->ShadowPitch >> 1;
while(num--) {
- width = pbox->x2 - pbox->x1;
- y1 = pbox->y1 & ~1;
- y2 = (pbox->y2 + 1) & ~1;
- height = (y2 - y1) >> 1; /* in dwords */
-
- if(pCir->rotate == 1) {
- dstPtr = (CARD16*)pCir->FbBase +
- (pbox->x1 * dstPitch) + pScrn->virtualX - y2;
- srcPtr = (CARD16*)pCir->ShadowPtr +
- ((1 - y2) * srcPitch) + pbox->x1;
- } else {
- dstPtr = (CARD16*)pCir->FbBase +
- ((pScrn->virtualY - pbox->x2) * dstPitch) + y1;
- srcPtr = (CARD16*)pCir->ShadowPtr +
- (y1 * srcPitch) + pbox->x2 - 1;
- }
-
- while(width--) {
- src = srcPtr;
- dst = (CARD32*)dstPtr;
- count = height;
- while(count--) {
- *(dst++) = src[0] | (src[srcPitch] << 16);
- src += srcPitch * 2;
- }
- srcPtr += pCir->rotate;
- dstPtr += dstPitch;
- }
+ x1 = MAX(pbox->x1, 0);
+ y1 = MAX(pbox->y1, 0);
+ x2 = MIN(pbox->x2, pScrn->virtualX);
+ y2 = MIN(pbox->y2, pScrn->virtualY);
+
+ width = x2 - x1;
+ y1 = y1 & ~1;
+ y2 = (y2 + 1) & ~1;
+ height = (y2 - y1) / 2; /* in dwords */
+
+ if (width <= 0 || height <= 0)
+ continue;
+
+ if(pCir->rotate == 1) {
+ dstPtr = (CARD16*)pCir->FbBase +
+ (x1 * dstPitch) + pScrn->virtualX - y2;
+ srcPtr = (CARD16*)pCir->ShadowPtr +
+ ((1 - y2) * srcPitch) + x1;
+ } else {
+ dstPtr = (CARD16*)pCir->FbBase +
+ ((pScrn->virtualY - x2) * dstPitch) + y1;
+ srcPtr = (CARD16*)pCir->ShadowPtr +
+ (y1 * srcPitch) + x2 - 1;
+ }
+
+ while(width--) {
+ src = srcPtr;
+ dst = (CARD32*)dstPtr;
+ count = height;
+ while(count--) {
+ *(dst++) = src[0] | (src[srcPitch] << 16);
+ src += srcPitch * 2;
+ }
+ srcPtr += pCir->rotate;
+ dstPtr += dstPitch;
+ }
- pbox++;
+ pbox++;
}
}
@@ -157,7 +184,7 @@
cirRefreshArea24(ScrnInfoPtr pScrn, int num, BoxPtr pbox)
{
CirPtr pCir = CIRPTR(pScrn);
- int count, width, height, y1, y2, dstPitch, srcPitch;
+ int count, width, height, x1, x2, y1, y2, dstPitch, srcPitch;
CARD8 *dstPtr, *srcPtr, *src;
CARD32 *dst;
@@ -165,42 +192,50 @@
srcPitch = -pCir->rotate * pCir->ShadowPitch;
while(num--) {
- width = pbox->x2 - pbox->x1;
- y1 = pbox->y1 & ~3;
- y2 = (pbox->y2 + 3) & ~3;
- height = (y2 - y1) >> 2; /* blocks of 3 dwords */
-
- if(pCir->rotate == 1) {
- dstPtr = pCir->FbBase +
- (pbox->x1 * dstPitch) + ((pScrn->virtualX - y2) * 3);
- srcPtr = pCir->ShadowPtr + ((1 - y2) * srcPitch) + (pbox->x1 * 3);
- } else {
- dstPtr = pCir->FbBase +
- ((pScrn->virtualY - pbox->x2) * dstPitch) + (y1 * 3);
- srcPtr = pCir->ShadowPtr + (y1 * srcPitch) + (pbox->x2 * 3) - 3;
- }
-
- while(width--) {
- src = srcPtr;
- dst = (CARD32*)dstPtr;
- count = height;
- while(count--) {
- dst[0] = src[0] | (src[1] << 8) | (src[2] << 16) |
+ x1 = MAX(pbox->x1, 0);
+ y1 = MAX(pbox->y1, 0);
+ x2 = MIN(pbox->x2, pScrn->virtualX);
+ y2 = MIN(pbox->y2, pScrn->virtualY);
+
+ width = x2 - x1;
+ y1 = y1 & ~3;
+ y2 = (y2 + 3) & ~3;
+ height = (y2 - y1) / 4; /* blocks of 3 dwords */
+
+ if (width <= 0 || height <= 0)
+ continue;
+
+ if(pCir->rotate == 1) {
+ dstPtr = pCir->FbBase +
+ (x1 * dstPitch) + ((pScrn->virtualX - y2) * 3);
+ srcPtr = pCir->ShadowPtr + ((1 - y2) * srcPitch) + (x1 * 3);
+ } else {
+ dstPtr = pCir->FbBase +
+ ((pScrn->virtualY - x2) * dstPitch) + (y1 * 3);
+ srcPtr = pCir->ShadowPtr + (y1 * srcPitch) + (x2 * 3) - 3;
+ }
+
+ while(width--) {
+ src = srcPtr;
+ dst = (CARD32*)dstPtr;
+ count = height;
+ while(count--) {
+ dst[0] = src[0] | (src[1] << 8) | (src[2] << 16) |
(src[srcPitch] << 24);
- dst[1] = src[srcPitch + 1] | (src[srcPitch + 2] << 8) |
+ dst[1] = src[srcPitch + 1] | (src[srcPitch + 2] << 8) |
(src[srcPitch * 2] << 16) |
(src[(srcPitch * 2) + 1] << 24);
- dst[2] = src[(srcPitch * 2) + 2] | (src[srcPitch * 3] << 8) |
+ dst[2] = src[(srcPitch * 2) + 2] | (src[srcPitch * 3] << 8) |
(src[(srcPitch * 3) + 1] << 16) |
(src[(srcPitch * 3) + 2] << 24);
- dst += 3;
- src += srcPitch * 4;
- }
- srcPtr += pCir->rotate * 3;
- dstPtr += dstPitch;
- }
+ dst += 3;
+ src += srcPitch * 4;
+ }
+ srcPtr += pCir->rotate * 3;
+ dstPtr += dstPitch;
+ }
- pbox++;
+ pbox++;
}
}
@@ -208,41 +243,49 @@
cirRefreshArea32(ScrnInfoPtr pScrn, int num, BoxPtr pbox)
{
CirPtr pCir = CIRPTR(pScrn);
- int count, width, height, dstPitch, srcPitch;
+ int count, width, height, x1, x2, y1, y2, dstPitch, srcPitch;
CARD32 *dstPtr, *srcPtr, *src, *dst;
dstPitch = pScrn->displayWidth;
srcPitch = -pCir->rotate * pCir->ShadowPitch >> 2;
while(num--) {
- width = pbox->x2 - pbox->x1;
- height = pbox->y2 - pbox->y1;
-
- if(pCir->rotate == 1) {
- dstPtr = (CARD32*)pCir->FbBase +
- (pbox->x1 * dstPitch) + pScrn->virtualX - pbox->y2;
- srcPtr = (CARD32*)pCir->ShadowPtr +
- ((1 - pbox->y2) * srcPitch) + pbox->x1;
- } else {
- dstPtr = (CARD32*)pCir->FbBase +
- ((pScrn->virtualY - pbox->x2) * dstPitch) + pbox->y1;
- srcPtr = (CARD32*)pCir->ShadowPtr +
- (pbox->y1 * srcPitch) + pbox->x2 - 1;
- }
-
- while(width--) {
- src = srcPtr;
- dst = dstPtr;
- count = height;
- while(count--) {
- *(dst++) = *src;
- src += srcPitch;
- }
- srcPtr += pCir->rotate;
- dstPtr += dstPitch;
- }
+ x1 = MAX(pbox->x1, 0);
+ y1 = MAX(pbox->y1, 0);
+ x2 = MIN(pbox->x2, pScrn->virtualX);
+ y2 = MIN(pbox->y2, pScrn->virtualY);
+
+ width = x2 - x1;
+ height = y2 - y1;
+
+ if (width <= 0 || height <= 0)
+ continue;
+
+ if(pCir->rotate == 1) {
+ dstPtr = (CARD32*)pCir->FbBase +
+ (x1 * dstPitch) + pScrn->virtualX - y2;
+ srcPtr = (CARD32*)pCir->ShadowPtr +
+ ((1 - y2) * srcPitch) + x1;
+ } else {
+ dstPtr = (CARD32*)pCir->FbBase +
+ ((pScrn->virtualY - x2) * dstPitch) + y1;
+ srcPtr = (CARD32*)pCir->ShadowPtr +
+ (y1 * srcPitch) + x2 - 1;
+ }
+
+ while(width--) {
+ src = srcPtr;
+ dst = dstPtr;
+ count = height;
+ while(count--) {
+ *(dst++) = *src;
+ src += srcPitch;
+ }
+ srcPtr += pCir->rotate;
+ dstPtr += dstPitch;
+ }
- pbox++;
+ pbox++;
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xf86-video-cirrus-1.5.1/src/lg_driver.c new/xf86-video-cirrus-1.5.2/src/lg_driver.c
--- old/xf86-video-cirrus-1.5.1/src/lg_driver.c 2012-07-16 04:02:41.000000000 +0200
+++ new/xf86-video-cirrus-1.5.2/src/lg_driver.c 2013-01-08 11:00:26.000000000 +0100
@@ -46,9 +46,6 @@
/* need this for inputInfo */
#include "inputstr.h"
-/* All drivers implementing backing store need this */
-#include "mibstore.h"
-
#include "micmap.h"
/* Needed by the Shadow Framebuffer */
@@ -1373,8 +1370,6 @@
fbPictureInit(pScreen, 0, 0);
- miInitializeBackingStore(pScreen);
-
/*
* Set initial black & white colourmap indices.
*/
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org