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 <[EMAIL PROTECTED]>
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 <[EMAIL PROTECTED]>  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 <[EMAIL PROTECTED]>  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 <[EMAIL PROTECTED]>
+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 <[EMAIL PROTECTED]>
+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 <[EMAIL PROTECTED]>
+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


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to