[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: