xorg-server: Changes to 'debian-unstable'
debian/changelog | 12 +++-
debian/patches/08_exa_fix_exaFillRegionTiled_fallback.diff | 20 +++++++
debian/patches/11_exa_no_negative_tile_offsets.diff | 32 ++++++++++++
debian/patches/12_bgPixel_fix_64bit_issue.diff | 33 +++++++++++++
debian/patches/series | 3 +
5 files changed, 98 insertions(+), 2 deletions(-)
New commits:
commit 531db0c0cef9d85d904168b610d7386eb41d2826
Author: Julien Cristau <jcristau@debian.org>
Date: Sat Sep 29 15:51:02 2007 +0200
Add 3 backported patches from the upstream master branch.
* Add 08_exa_fix_exaFillRegionTiled_fallback.diff by Michel Dänzer to punt
on fallback case not handled correctly in exaFillRegionTiled (backported
from master's c7d6d1f5).
* Add 11_exa_no_negative_tile_offsets.diff by Michel Dänzer to make sure
tile offsets passed to drivers are never negative (backported from
master's 006f6525).
* Add 12_bgPixel_fix_64bit_issue.diff by Hong Liu: bgPixel (unsigned long)
is 64-bit on x86_64, so -1 != 0xffffffff (master's 9adea807).
diff --git a/debian/changelog b/debian/changelog
index 7da6907..23e5923 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -53,8 +53,16 @@ xorg-server (2:1.4-3) UNRELEASED; urgency=low
debian/patches/series.
* Don't build kdrive-based servers we're not shipping.
* Use ${binary:Version} instead of ${Source-Version}.
-
- -- David Nusinow <dnusinow@debian.org> Thu, 27 Sep 2007 22:21:10 -0400
+ * Add 08_exa_fix_exaFillRegionTiled_fallback.diff by Michel Dänzer to punt
+ on fallback case not handled correctly in exaFillRegionTiled (backported
+ from master's c7d6d1f5).
+ * Add 11_exa_no_negative_tile_offsets.diff by Michel Dänzer to make sure
+ tile offsets passed to drivers are never negative (backported from
+ master's 006f6525).
+ * Add 12_bgPixel_fix_64bit_issue.diff by Hong Liu: bgPixel (unsigned long)
+ is 64-bit on x86_64, so -1 != 0xffffffff (master's 9adea807).
+
+ -- Julien Cristau <jcristau@debian.org> Sat, 29 Sep 2007 15:42:08 +0200
xorg-server (2:1.4-2) unstable; urgency=low
diff --git a/debian/patches/08_exa_fix_exaFillRegionTiled_fallback.diff b/debian/patches/08_exa_fix_exaFillRegionTiled_fallback.diff
new file mode 100644
index 0000000..bca03a4
--- /dev/null
+++ b/debian/patches/08_exa_fix_exaFillRegionTiled_fallback.diff
@@ -0,0 +1,20 @@
+commit aa11204d4a81de851155ae3f01d4c897263fd7b0
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Tue Sep 25 19:51:29 2007 +0200
+
+ EXA: Punt on fallback case not handled correctly in exaFillRegionTiled.
+
+diff --git a/exa/exa_accel.c b/exa/exa_accel.c
+index cc383cc..acc5dbe 100644
+--- a/exa/exa_accel.c
++++ b/exa/exa_accel.c
+@@ -1223,7 +1223,8 @@ exaFillRegionTiled (DrawablePtr pDrawable,
+ }
+
+ fallback:
+- if (alu != GXcopy || planemask != FB_ALLONES)
++ if (alu != GXcopy || planemask != FB_ALLONES || pPatOrg->x != 0 ||
++ pPatOrg->y != 0)
+ return FALSE;
+ EXA_FALLBACK(("from %p to %p (%c,%c)\n", pTile, pDrawable,
+ exaDrawableLocation(&pTile->drawable),
diff --git a/debian/patches/11_exa_no_negative_tile_offsets.diff b/debian/patches/11_exa_no_negative_tile_offsets.diff
new file mode 100644
index 0000000..056d8fc
--- /dev/null
+++ b/debian/patches/11_exa_no_negative_tile_offsets.diff
@@ -0,0 +1,32 @@
+commit e1ac9c0e7a6167f14cb7899e585eeae74bb5d55d
+Author: Michel Dänzer <michel@tungstengraphics.com>
+Date: Thu Sep 27 13:08:41 2007 +0200
+
+ EXA: Make sure tile offsets passed to drivers are never negative.
+
+ Thanks to Björn Steinbrink for pointing out the problem on IRC.
+
+diff --git a/exa/exa_accel.c b/exa/exa_accel.c
+index cc383cc..d19e3f4 100644
+--- a/exa/exa_accel.c
++++ b/exa/exa_accel.c
+@@ -1187,7 +1187,8 @@ exaFillRegionTiled (DrawablePtr pDrawable,
+ int dstY = pBox->y1;
+ int tileY;
+
+- tileY = (dstY - pDrawable->y - pPatOrg->y) % tileHeight;
++ modulus(dstY - pDrawable->y - pPatOrg->y, tileHeight, tileY);
++
+ while (height > 0) {
+ int width = pBox->x2 - pBox->x1;
+ int dstX = pBox->x1;
+@@ -1198,7 +1199,8 @@ exaFillRegionTiled (DrawablePtr pDrawable,
+ h = height;
+ height -= h;
+
+- tileX = (dstX - pDrawable->x - pPatOrg->x) % tileWidth;
++ modulus(dstX - pDrawable->x - pPatOrg->x, tileWidth, tileX);
++
+ while (width > 0) {
+ int w = tileWidth - tileX;
+ if (w > width)
diff --git a/debian/patches/12_bgPixel_fix_64bit_issue.diff b/debian/patches/12_bgPixel_fix_64bit_issue.diff
new file mode 100644
index 0000000..f80d4a4
--- /dev/null
+++ b/debian/patches/12_bgPixel_fix_64bit_issue.diff
@@ -0,0 +1,33 @@
+From 9adea807038b64292403ede982075fe1dcfd4c9a Mon Sep 17 00:00:00 2001
+From: Hong Liu <hong.liu@intel.com>
+Date: Tue, 4 Sep 2007 08:46:46 +0100
+Subject: [PATCH] bgPixel (unsigned long) is 64-bit on x86_64, so -1 != 0xffffffff
+
+This patch should fix bug 8080.
+---
+ hw/xfree86/xaa/xaaGC.c | 9 +++++----
+ 1 files changed, 5 insertions(+), 4 deletions(-)
+
+diff --git a/hw/xfree86/xaa/xaaGC.c b/hw/xfree86/xaa/xaaGC.c
+index f3434c9..b3dc83a 100644
+--- a/hw/xfree86/xaa/xaaGC.c
++++ b/hw/xfree86/xaa/xaaGC.c
+@@ -80,10 +80,11 @@ XAAValidateGC(
+ }
+
+ if(pGC->depth != 32) {
+- if(pGC->bgPixel == -1) /* -1 is reserved for transparency */
+- pGC->bgPixel = 0x7fffffff;
+- if(pGC->fgPixel == -1) /* -1 is reserved for transparency */
+- pGC->fgPixel = 0x7fffffff;
++ /* 0xffffffff is reserved for transparency */
++ if(pGC->bgPixel == 0xffffffff)
++ pGC->bgPixel = 0x7fffffff;
++ if(pGC->fgPixel == 0xffffffff)
++ pGC->fgPixel = 0x7fffffff;
+ }
+
+ if((pDraw->type == DRAWABLE_PIXMAP) && !IS_OFFSCREEN_PIXMAP(pDraw)){
+--
+1.5.3.2
+
diff --git a/debian/patches/series b/debian/patches/series
index 689e847..73f34fb 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -5,7 +5,10 @@
05_kill_type1.diff
06_use_proc_instead_of_sysfs_for_pci_domains.diff
07_autoconfig_screen_with_device_section.diff
+08_exa_fix_exaFillRegionTiled_fallback.diff
10_dont_look_in_home_for_config.diff -p0
+11_exa_no_negative_tile_offsets.diff
+12_bgPixel_fix_64bit_issue.diff
13_debian_add_xkbpath_env_variable.diff
21_glx_align_fixes.patch
41_vbe_filter_less.diff
Reply to: