xorg-server: Changes to 'ubuntu'
debian/changelog | 18 +++++
debian/patches/109_glx_fail_if_no_texture_bound.diff | 54 +++++++++++++++++
debian/patches/153_exa_skip_empty_glyphs.diff | 20 ++++++
debian/patches/154_fix_rotation_for_multimon.diff | 27 ++++++++
debian/patches/155_exa_fix_off-by-one.diff | 21 ++++++
debian/patches/156_resize_composite_overlay.diff | 58 +++++++++++++++++++
debian/patches/series | 5 +
7 files changed, 203 insertions(+)
New commits:
commit dc6a67c561518e716acf8bc548defa7a604dc148
Author: Timo Aaltonen <tjaalton@cc.hut.fi>
Date: Thu Mar 13 18:24:38 2008 +0200
Prepare the changelog for upload
diff --git a/debian/changelog b/debian/changelog
index e6dce42..01388d4 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-xorg-server (2:1.4.1~git20080131-1ubuntu5) UNRELEASED; urgency=low
+xorg-server (2:1.4.1~git20080131-1ubuntu5) hardy; urgency=low
* Add some patches from upstream 1.4-branch or proposed set:
- 109_glx_fail_if_no_texture_bound.diff
@@ -14,7 +14,7 @@ xorg-server (2:1.4.1~git20080131-1ubuntu5) UNRELEASED; urgency=low
+ Resize composite overlay window when the root window changes.
(LP: #199700)
- -- Timo Aaltonen <tepsipakki@ubuntu.com> Thu, 13 Mar 2008 10:57:33 +0200
+ -- Timo Aaltonen <tepsipakki@ubuntu.com> Thu, 13 Mar 2008 18:21:41 +0200
xorg-server (2:1.4.1~git20080131-1ubuntu4) hardy; urgency=low
commit c56beadbda105991045c60011e77e60c553eea23
Author: Timo Aaltonen <tjaalton@cc.hut.fi>
Date: Thu Mar 13 11:45:40 2008 +0200
Add some patches from upstream 1.4-branch or proposed set
- 109_glx_fail_if_no_texture_bound.diff
+ __glXDRIbindTexImage: Fail if no texture bound to pixmap's texture
target.
- 153_exa_skip_empty_glyphs.diff
+ Fix a crasher when EXA and RenderAccel is in use.
- 154_fix_rotation_for_multimon.diff
+ Fix rotation for multi-monitor situation.
- 155_exa_fix_off-by-one.diff
+ Fix off-by-one in polyline drawing.
- 156_resize_composite_overlay.diff
+ Resize composite overlay window when the root window changes.
(LP: #199700)
diff --git a/debian/changelog b/debian/changelog
index afa3f9e..e6dce42 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,21 @@
+xorg-server (2:1.4.1~git20080131-1ubuntu5) UNRELEASED; urgency=low
+
+ * Add some patches from upstream 1.4-branch or proposed set:
+ - 109_glx_fail_if_no_texture_bound.diff
+ + __glXDRIbindTexImage: Fail if no texture bound to pixmap's texture
+ target.
+ - 153_exa_skip_empty_glyphs.diff
+ + Fix a crasher when EXA and RenderAccel is in use.
+ - 154_fix_rotation_for_multimon.diff
+ + Fix rotation for multi-monitor situation.
+ - 155_exa_fix_off-by-one.diff
+ + Fix off-by-one in polyline drawing.
+ - 156_resize_composite_overlay.diff
+ + Resize composite overlay window when the root window changes.
+ (LP: #199700)
+
+ -- Timo Aaltonen <tepsipakki@ubuntu.com> Thu, 13 Mar 2008 10:57:33 +0200
+
xorg-server (2:1.4.1~git20080131-1ubuntu4) hardy; urgency=low
* Add 152_xserver_exa_force_greedy.patch to provide a mechanism for
diff --git a/debian/patches/109_glx_fail_if_no_texture_bound.diff b/debian/patches/109_glx_fail_if_no_texture_bound.diff
new file mode 100644
index 0000000..36050ab
--- /dev/null
+++ b/debian/patches/109_glx_fail_if_no_texture_bound.diff
@@ -0,0 +1,54 @@
+From 095850596114178119a8cc854716ce0cc6e05121 Mon Sep 17 00:00:00 2001
+From: Michel Dänzer <michel@tungstengraphics.com>
+Date: Fri, 24 Aug 2007 11:04:48 +0000
+Subject: __glXDRIbindTexImage: Fail if no texture bound to pixmap's texture target.
+
+We would most likely crash somewhere in Mesa if we tried to continue in this
+case.
+---
+diff --git a/GL/glx/glxdri.c b/GL/glx/glxdri.c
+index 685683d..c1f3eb7 100644
+--- a/GL/glx/glxdri.c
++++ b/GL/glx/glxdri.c
+@@ -374,17 +374,25 @@ __glXDRIbindTexImage(__GLXcontext *baseContext,
+ {
+ RegionPtr pRegion = NULL;
+ PixmapPtr pixmap;
+- int bpp, override = 0;
++ int bpp, override = 0, texname;
+ GLenum format, type;
+ ScreenPtr pScreen = glxPixmap->pScreen;
+ __GLXDRIscreen * const screen =
+ (__GLXDRIscreen *) __glXgetActiveScreen(pScreen->myNum);
+
++ CALL_GetIntegerv(GET_DISPATCH(), (glxPixmap->target == GL_TEXTURE_2D ?
++ GL_TEXTURE_BINDING_2D :
++ GL_TEXTURE_BINDING_RECTANGLE_NV,
++ &texname));
++
++ if (!texname)
++ return __glXError(GLXBadContextState);
++
+ pixmap = (PixmapPtr) glxPixmap->pDraw;
+
+ if (screen->texOffsetStart && screen->driScreen.setTexOffset) {
+ __GLXpixmap **texOffsetOverride = screen->texOffsetOverride;
+- int i, firstEmpty = 16, texname;
++ int i, firstEmpty = 16;
+
+ for (i = 0; i < 16; i++) {
+ if (texOffsetOverride[i] == glxPixmap)
+@@ -409,11 +417,6 @@ alreadyin:
+
+ glxPixmap->pDRICtx = &((__GLXDRIcontext*)baseContext)->driContext;
+
+- CALL_GetIntegerv(GET_DISPATCH(), (glxPixmap->target == GL_TEXTURE_2D ?
+- GL_TEXTURE_BINDING_2D :
+- GL_TEXTURE_BINDING_RECTANGLE_NV,
+- &texname));
+-
+ if (texname == glxPixmap->texname)
+ return Success;
+
+--
+cgit v0.7.2-37-g538c
diff --git a/debian/patches/153_exa_skip_empty_glyphs.diff b/debian/patches/153_exa_skip_empty_glyphs.diff
new file mode 100644
index 0000000..8a9d69f
--- /dev/null
+++ b/debian/patches/153_exa_skip_empty_glyphs.diff
@@ -0,0 +1,20 @@
+From ce50bfd3369686cfecee5a138bd84ef1107a249d Mon Sep 17 00:00:00 2001
+From: Michel Dänzer <michel@tungstengraphics.com>
+Date: Thu, 18 Oct 2007 15:44:48 +0000
+Subject: EXA: Skip empty glyphs.
+
+---
+diff --git a/exa/exa_render.c b/exa/exa_render.c
+index 65e67d8..cc2f59d 100644
+--- a/exa/exa_render.c
++++ b/exa/exa_render.c
+@@ -1246,6 +1246,7 @@ exaGlyphs (CARD8 op,
+ y1 = y - glyph->info.y;
+
+ if (x1 >= pCmpDrw->width || y1 >= pCmpDrw->height ||
++ glyph->info.width == 0 || glyph->info.height == 0 ||
+ (x1 + glyph->info.width) <= 0 || (y1 + glyph->info.height) <= 0)
+ goto nextglyph;
+
+--
+cgit v0.7.2-37-g538c
diff --git a/debian/patches/154_fix_rotation_for_multimon.diff b/debian/patches/154_fix_rotation_for_multimon.diff
new file mode 100644
index 0000000..4705767
--- /dev/null
+++ b/debian/patches/154_fix_rotation_for_multimon.diff
@@ -0,0 +1,27 @@
+From: Maarten Maathuis <madman2003@gmail.com>
+Date: Sun, 17 Feb 2008 17:47:28 +0000 (+0100)
+Subject: Fix rotation for multi-monitor situation.
+X-Git-Tag: xf-3_9_16Z / xf-3_9_16d / xf-3_9_16e / xf-3_9_16f
+X-Git-Url: http://gitweb.freedesktop.org/?p=xorg/xserver.git;a=commitdiff;h=dc30ade6496c7cc24e38c419e229159525fe042f
+
+Fix rotation for multi-monitor situation.
+
+- The (x,y)-coordinates of the crtc were not being passed as xFixed values, which made it an obscure bug to find.
+- Fix bug #13787.
+(cherry picked from commit a48cc88ea2674c28b69b8d738b168cbafcf4001f)
+---
+
+--- a/hw/xfree86/modes/xf86Rotate.c
++++ b/hw/xfree86/modes/xf86Rotate.c
+@@ -579,9 +579,9 @@ xf86CrtcRotate (xf86CrtcPtr crtc, Displa
+ }
+ else
+ {
+- PictureTransformTranslate (&crtc_to_fb, &fb_to_crtc, crtc->x, crtc->y);
++ PictureTransformTranslate (&crtc_to_fb, &fb_to_crtc, F(crtc->x), F(crtc->y));
+ PictureTransformIsInverse ("offset", &crtc_to_fb, &fb_to_crtc);
+-
++
+ /*
+ * these are the size of the shadow pixmap, which
+ * matches the mode, not the pre-rotated copy in the
diff --git a/debian/patches/155_exa_fix_off-by-one.diff b/debian/patches/155_exa_fix_off-by-one.diff
new file mode 100644
index 0000000..eb7bb91
--- /dev/null
+++ b/debian/patches/155_exa_fix_off-by-one.diff
@@ -0,0 +1,21 @@
+From d502521c3669f3f22b94c39a64ab63bfd92c6a97 Mon Sep 17 00:00:00 2001
+From: Pierre Willenbrock <pierre@pirsoft.dnsalias.org>
+Date: Tue, 23 Oct 2007 14:45:13 +0000
+Subject: EXA: Fix off-by-one in polyline drawing.
+
+---
+diff --git a/exa/exa_accel.c b/exa/exa_accel.c
+index 52cc5c4..5fb72d7 100644
+--- a/exa/exa_accel.c
++++ b/exa/exa_accel.c
+@@ -658,7 +658,7 @@ exaPolylines(DrawablePtr pDrawable, GCPtr pGC, int mode, int npt,
+ x1 = ppt[0].x;
+ y1 = ppt[0].y;
+ /* If we have any non-horizontal/vertical, fall back. */
+- for (i = 0; i < npt; i++) {
++ for (i = 0; i < npt - 1; i++) {
+ if (mode == CoordModePrevious) {
+ x2 = x1 + ppt[i + 1].x;
+ y2 = y1 + ppt[i + 1].y;
+--
+cgit v0.7.2-37-g538c
diff --git a/debian/patches/156_resize_composite_overlay.diff b/debian/patches/156_resize_composite_overlay.diff
new file mode 100644
index 0000000..8ff6eb4
--- /dev/null
+++ b/debian/patches/156_resize_composite_overlay.diff
@@ -0,0 +1,58 @@
+From: Maarten Maathuis <madman2003@gmail.com>
+Date: Sun, 17 Feb 2008 10:21:01 +0000 (+0100)
+Subject: Resize composite overlay window when the root window changes.
+X-Git-Tag: xf-3_9_16Z / xf-3_9_16d / xf-3_9_16e / xf-3_9_16f
+X-Git-Url: http://gitweb.freedesktop.org/?p=xorg/xserver.git;a=commitdiff;h=3db5930c61aeb849de3b21e7ba0d86d3c0cf72bb
+
+Resize composite overlay window when the root window changes.
+
+- This allows some compositing managers to work, even after randr12 has changed the root window size.
+- Thanks to ajax for figuring out the best place to put this.
+- Example:
+ - xf86RandR12SetMode() calls EnableDisableFBAccess().
+ - That calls xf86SetRootClip() which in turn calls ResizeChildrenWinSize().
+ - The final step is the call to PositionWindow().
+(cherry picked from commit 70c0592a97c7dc9db0576d32b3bdbe4766520509)
+---
+
+--- a/composite/compwindow.c
++++ b/composite/compwindow.c
+@@ -165,6 +165,29 @@ compCheckRedirect (WindowPtr pWin)
+ return TRUE;
+ }
+
++static int
++updateOverlayWindow(ScreenPtr pScreen)
++{
++ CompScreenPtr cs;
++ WindowPtr pWin; /* overlay window */
++ XID vlist[2];
++
++ cs = GetCompScreen(pScreen);
++ if ((pWin = cs->pOverlayWin) != NULL) {
++ if ((pWin->drawable.width == pScreen->width) &&
++ (pWin->drawable.height == pScreen->height))
++ return Success;
++
++ /* Let's resize the overlay window. */
++ vlist[0] = pScreen->width;
++ vlist[1] = pScreen->height;
++ return ConfigureWindow(pWin, CWWidth | CWHeight, vlist, wClient(pWin));
++ }
++
++ /* Let's be on the safe side and not assume an overlay window is always allocated. */
++ return Success;
++}
++
+ Bool
+ compPositionWindow (WindowPtr pWin, int x, int y)
+ {
+@@ -203,6 +226,8 @@ compPositionWindow (WindowPtr pWin, int
+ cs->PositionWindow = pScreen->PositionWindow;
+ pScreen->PositionWindow = compPositionWindow;
+ compCheckTree (pWin->drawable.pScreen);
++ if (updateOverlayWindow(pScreen) != Success)
++ ret = FALSE;
+ return ret;
+ }
+
diff --git a/debian/patches/series b/debian/patches/series
index bd20250..173c089 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -31,6 +31,7 @@
106_ubuntu_fpic_libxf86config.patch
107_fedora_dont_backfill_bg_none.patch
108_fedora_honor_displaysize.patch
+109_glx_fail_if_no_texture_bound.diff
110_fedora_no_move_damage.patch
120_fedora_xserver-xaa-evict-pixmaps.patch
121_only_switch_vt_when_active.diff
@@ -46,3 +47,7 @@
150_edid_quirk_lp154w01.patch
151_x86emu_handle_cpuid.patch
152_xserver_exa_force_greedy.patch
+153_exa_skip_empty_glyphs.diff
+154_fix_rotation_for_multimon.diff
+155_exa_fix_off-by-one.diff
+156_resize_composite_overlay.diff
Reply to: