[91577] trunk/dports/x11/xorg-server-devel
jeremyhu at macports.org
jeremyhu at macports.org
Thu Apr 5 18:44:00 PDT 2012
Revision: 91577
https://trac.macports.org/changeset/91577
Author: jeremyhu at macports.org
Date: 2012-04-05 18:44:00 -0700 (Thu, 05 Apr 2012)
Log Message:
-----------
xorg-server-devel: Bump to current master for some input updates and a Tiger build fix
Modified Paths:
--------------
trunk/dports/x11/xorg-server-devel/Portfile
Added Paths:
-----------
trunk/dports/x11/xorg-server-devel/files/5000-sdksyms.sh-Use-CPPFLAGS-not-CFLAGS.patch
trunk/dports/x11/xorg-server-devel/files/5001-Workaround-the-GC-clipping-problem-in-miPaintWindow-.patch
trunk/dports/x11/xorg-server-devel/files/5002-fb-Revert-fb-changes-that-broke-XQuartz.patch
Removed Paths:
-------------
trunk/dports/x11/xorg-server-devel/files/5002-Workaround-the-GC-clipping-problem-in-miPaintWindow-.patch
trunk/dports/x11/xorg-server-devel/files/5003-fb-Revert-fb-changes-that-broke-XQuartz.patch
Modified: trunk/dports/x11/xorg-server-devel/Portfile
===================================================================
--- trunk/dports/x11/xorg-server-devel/Portfile 2012-04-06 00:36:32 UTC (rev 91576)
+++ trunk/dports/x11/xorg-server-devel/Portfile 2012-04-06 01:44:00 UTC (rev 91577)
@@ -5,7 +5,7 @@
name xorg-server-devel
conflicts xorg-server
set my_name xorg-server
-version 1.12.0
+version 1.12.99.0
categories x11 devel
maintainers jeremyhu openmaintainer
description The X.org / Xquartz X server.
@@ -15,7 +15,7 @@
fetch.type git
git.url git://anongit.freedesktop.org/xorg/xserver
-git.branch xorg-server-1.12.0
+git.branch 1110facdfeb95b1ad47d03c0ca3d73933b86dbd6
use_parallel_build yes
@@ -72,8 +72,9 @@
RAWCPP=${configure.cpp}
patchfiles \
- 5002-Workaround-the-GC-clipping-problem-in-miPaintWindow-.patch \
- 5003-fb-Revert-fb-changes-that-broke-XQuartz.patch
+ 5000-sdksyms.sh-Use-CPPFLAGS-not-CFLAGS.patch \
+ 5001-Workaround-the-GC-clipping-problem-in-miPaintWindow-.patch \
+ 5002-fb-Revert-fb-changes-that-broke-XQuartz.patch
patch.pre_args -p1
Added: trunk/dports/x11/xorg-server-devel/files/5000-sdksyms.sh-Use-CPPFLAGS-not-CFLAGS.patch
===================================================================
--- trunk/dports/x11/xorg-server-devel/files/5000-sdksyms.sh-Use-CPPFLAGS-not-CFLAGS.patch (rev 0)
+++ trunk/dports/x11/xorg-server-devel/files/5000-sdksyms.sh-Use-CPPFLAGS-not-CFLAGS.patch 2012-04-06 01:44:00 UTC (rev 91577)
@@ -0,0 +1,40 @@
+From cbacf89b6b1a72384f431fa4a759ac995158953d Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston <jeremyhu at apple.com>
+Date: Fri, 13 Jan 2012 12:00:57 -0800
+Subject: [PATCH 5000/5002] sdksyms.sh: Use CPPFLAGS, not CFLAGS
+
+CFLAGS can include flags which are not useful to the preprocessor
+or can even cause it to fail. This fixes a build issue on darwin
+when building for more than one architecture.
+
+Signed-off-by: Jeremy Huddleston <jeremyhu at apple.com>
+Reviewed-by: Keith Packard <keithp at keithp.com>
+---
+ hw/xfree86/Makefile.am | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/hw/xfree86/Makefile.am b/hw/xfree86/Makefile.am
+index 72be889..c0b81c3 100644
+--- a/hw/xfree86/Makefile.am
++++ b/hw/xfree86/Makefile.am
+@@ -38,7 +38,7 @@ DIST_SUBDIRS = common ddc i2c x86emu int10 fbdevhw os-support \
+ bin_PROGRAMS = Xorg
+ nodist_Xorg_SOURCES = sdksyms.c
+
+-AM_CFLAGS = $(DIX_CFLAGS) @XORG_CFLAGS@
++AM_CPPFLAGS = $(DIX_CFLAGS) @XORG_CFLAGS@
+ INCLUDES = $(XORG_INCS) -I$(srcdir)/parser -I$(top_srcdir)/miext/cw \
+ -I$(srcdir)/ddc -I$(srcdir)/i2c -I$(srcdir)/modes -I$(srcdir)/ramdac
+
+@@ -109,7 +109,7 @@ CLEANFILES = sdksyms.c sdksyms.dep
+ EXTRA_DIST += sdksyms.sh
+
+ sdksyms.dep sdksyms.c: sdksyms.sh
+- CPP='$(CPP)' AWK='$(AWK)' $(SHELL) $(srcdir)/sdksyms.sh $(top_srcdir) $(CFLAGS) $(AM_CFLAGS) $(INCLUDES)
++ CPP='$(CPP)' AWK='$(AWK)' $(SHELL) $(srcdir)/sdksyms.sh $(top_srcdir) $(CPPFLAGS) $(AM_CPPFLAGS) $(INCLUDES)
+
+ SDKSYMS_DEP = sdksyms.dep
+ include $(SDKSYMS_DEP)
+--
+1.7.9.5
+
Added: trunk/dports/x11/xorg-server-devel/files/5001-Workaround-the-GC-clipping-problem-in-miPaintWindow-.patch
===================================================================
--- trunk/dports/x11/xorg-server-devel/files/5001-Workaround-the-GC-clipping-problem-in-miPaintWindow-.patch (rev 0)
+++ trunk/dports/x11/xorg-server-devel/files/5001-Workaround-the-GC-clipping-problem-in-miPaintWindow-.patch 2012-04-06 01:44:00 UTC (rev 91577)
@@ -0,0 +1,165 @@
+From bf524082a923c9d7591deeb7b4b3f7e6e987f94d Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston <jeremyhu at apple.com>
+Date: Fri, 30 Apr 2010 13:08:25 -0700
+Subject: [PATCH 5001/5002] Workaround the GC clipping problem in
+ miPaintWindow and add some debugging output.
+
+Signed-off-by: Jeremy Huddleston <jeremyhu at apple.com>
+---
+ mi/miexpose.c | 104 +++++++++++++++++++++++++++++++++++++++++++++++++++------
+ 1 file changed, 94 insertions(+), 10 deletions(-)
+
+diff --git a/mi/miexpose.c b/mi/miexpose.c
+index dbb29ca..93fd8a1 100644
+--- a/mi/miexpose.c
++++ b/mi/miexpose.c
+@@ -490,7 +490,8 @@ void RootlessSetPixmapOfAncestors(WindowPtr pWin);
+ void RootlessStartDrawing(WindowPtr pWin);
+ void RootlessDamageRegion(WindowPtr pWin, RegionPtr prgn);
+ Bool IsFramedWindow(WindowPtr pWin);
+-#endif
++#include "../fb/fb.h"
++#endif
+
+ void
+ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
+@@ -519,23 +520,37 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
+ Bool solid = TRUE;
+ DrawablePtr drawable = &pWin->drawable;
+
++#ifdef XQUARTZ_CLIP_DEBUG
++ ErrorF("START %d BS %d (pR = %ld)\n", what, pWin->backgroundState, ParentRelative);
++ ErrorF(" Rgn: %d %d %d %d\n", prgn->extents.x1, prgn->extents.y1,
++ prgn->extents.x2 - prgn->extents.x1,
++ prgn->extents.y2 - prgn->extents.y1);
++ ErrorF(" Win: %d %d (%d %d) %d %d\n", pWin->origin.x, pWin->origin.y,
++ pWin->winSize.extents.x1, pWin->winSize.extents.y1,
++ pWin->winSize.extents.x2 - pWin->winSize.extents.x1,
++ pWin->winSize.extents.y2 - pWin->winSize.extents.y1);
++ ErrorF(" Draw: %d %d %d %d\n", pWin->drawable.x, pWin->drawable.y,
++ pWin->drawable.width, pWin->drawable.height);
++#endif
++
+ #ifdef ROOTLESS
+ if (!drawable || drawable->type == UNDRAWABLE_WINDOW)
+ return;
++#endif
++
++ if (what == PW_BACKGROUND)
++ {
++#ifdef ROOTLESS
++ if(IsFramedWindow(pWin)) {
++ RootlessStartDrawing(pWin);
++ RootlessDamageRegion(pWin, prgn);
+
+- if (IsFramedWindow(pWin)) {
+- RootlessStartDrawing(pWin);
+- RootlessDamageRegion(pWin, prgn);
+-
+- if (pWin->backgroundState == ParentRelative) {
+- if ((what == PW_BACKGROUND) ||
+- (what == PW_BORDER && !pWin->borderIsPixel))
++ if(pWin->backgroundState == ParentRelative) {
+ RootlessSetPixmapOfAncestors(pWin);
++ }
+ }
+- }
+ #endif
+
+- if (what == PW_BACKGROUND) {
+ while (pWin->backgroundState == ParentRelative)
+ pWin = pWin->parent;
+
+@@ -560,6 +575,18 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
+ else {
+ PixmapPtr pixmap;
+
++#ifdef ROOTLESS
++ if(IsFramedWindow(pWin)) {
++ RootlessStartDrawing(pWin);
++ RootlessDamageRegion(pWin, prgn);
++
++ if(!pWin->borderIsPixel &&
++ pWin->backgroundState == ParentRelative) {
++ RootlessSetPixmapOfAncestors(pWin);
++ }
++ }
++#endif
++
+ tile_x_off = drawable->x;
+ tile_y_off = drawable->y;
+
+@@ -568,6 +595,12 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
+ return;
+ pixmap = (*pScreen->GetWindowPixmap) ((WindowPtr) drawable);
+ drawable = &pixmap->drawable;
++
++#ifdef XQUARTZ_CLIP_DEBUG
++ ErrorF(" Draw: %d %d %d %d\n",
++ drawable->x, drawable->y, drawable->width, drawable->height);
++#endif
++
+ #ifdef COMPOSITE
+ draw_x_off = pixmap->screen_x;
+ draw_y_off = pixmap->screen_y;
+@@ -630,6 +663,57 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
+ ChangeGC(NullClient, pGC, gcmask, gcval);
+ ValidateGC(drawable, pGC);
+
++#ifdef XQUARTZ_CLIP_DEBUG
++ ErrorF(" GC: %d %d %d %d\n",
++ pGC->pCompositeClip->extents.x1, pGC->pCompositeClip->extents.y1,
++ pGC->pCompositeClip->extents.x2 - pGC->pCompositeClip->extents.x1,
++ pGC->pCompositeClip->extents.y2 - pGC->pCompositeClip->extents.y1);
++#endif
++
++#ifdef XQUARTZ
++ /* Looks like our clipping isn't set right for some reason:
++ * http://xquartz.macosforge.org/trac/ticket/290
++ */
++ if(what == PW_BORDER) {
++
++#if 0
++ if(solid) {
++#if 1
++ fbFillRegionSolid(&pWin->drawable,
++ prgn,
++ 0,
++ fbReplicatePixel(fill.pixel,
++ pWin->drawable.bitsPerPixel));
++#else
++ fbFillRegionSolid(drawable,
++ prgn,
++ 0,
++ fbReplicatePixel(fill.pixel,
++ drawable->bitsPerPixel));
++#endif
++ return;
++ }
++#endif
++
++ pGC->pCompositeClip->extents.x1 += prgn->extents.x1;
++ pGC->pCompositeClip->extents.y1 += prgn->extents.y1;
++ pGC->pCompositeClip->extents.x2 += prgn->extents.x1;
++ pGC->pCompositeClip->extents.y2 += prgn->extents.y1;
++
++ if(pGC->pCompositeClip->extents.x2 > drawable->pScreen->width)
++ pGC->pCompositeClip->extents.x2 = drawable->pScreen->width;
++ if(pGC->pCompositeClip->extents.y2 > drawable->pScreen->height)
++ pGC->pCompositeClip->extents.y2 = drawable->pScreen->height;
++ }
++#endif
++
++#ifdef XQUARTZ_CLIP_DEBUG
++ ErrorF(" GC: %d %d %d %d\n",
++ pGC->pCompositeClip->extents.x1, pGC->pCompositeClip->extents.y1,
++ pGC->pCompositeClip->extents.x2 - pGC->pCompositeClip->extents.x1,
++ pGC->pCompositeClip->extents.y2 - pGC->pCompositeClip->extents.y1);
++#endif
++
+ numRects = RegionNumRects(prgn);
+ pbox = RegionRects(prgn);
+ for (i = numRects; --i >= 0; pbox++, prect++) {
+--
+1.7.9.5
+
Deleted: trunk/dports/x11/xorg-server-devel/files/5002-Workaround-the-GC-clipping-problem-in-miPaintWindow-.patch
===================================================================
--- trunk/dports/x11/xorg-server-devel/files/5002-Workaround-the-GC-clipping-problem-in-miPaintWindow-.patch 2012-04-06 00:36:32 UTC (rev 91576)
+++ trunk/dports/x11/xorg-server-devel/files/5002-Workaround-the-GC-clipping-problem-in-miPaintWindow-.patch 2012-04-06 01:44:00 UTC (rev 91577)
@@ -1,165 +0,0 @@
-From a7e35ac35ed6d7dc1bcf4252c3dbc3ed7764f261 Mon Sep 17 00:00:00 2001
-From: Jeremy Huddleston <jeremyhu at apple.com>
-Date: Fri, 30 Apr 2010 13:08:25 -0700
-Subject: [PATCH 15/16] Workaround the GC clipping problem in miPaintWindow
- and add some debugging output.
-
-Signed-off-by: Jeremy Huddleston <jeremyhu at apple.com>
----
- mi/miexpose.c | 105 +++++++++++++++++++++++++++++++++++++++++++++++++++------
- 1 files changed, 94 insertions(+), 11 deletions(-)
-
-diff --git xorg-server-1.10.99.901/mi/miexpose.c xorg-server-1.10.99.901/mi/miexpose.c
-index 94258b8..4f25c23 100644
---- xorg-server-1.10.99.901/mi/miexpose.c
-+++ xorg-server-1.10.99.901/mi/miexpose.c
-@@ -521,6 +521,7 @@ void RootlessSetPixmapOfAncestors(WindowPtr pWin);
- void RootlessStartDrawing(WindowPtr pWin);
- void RootlessDamageRegion(WindowPtr pWin, RegionPtr prgn);
- Bool IsFramedWindow(WindowPtr pWin);
-+#include "../fb/fb.h"
- #endif
-
- void
-@@ -548,24 +549,37 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
- Bool solid = TRUE;
- DrawablePtr drawable = &pWin->drawable;
-
-+#ifdef XQUARTZ_CLIP_DEBUG
-+ ErrorF("START %d BS %d (pR = %ld)\n", what, pWin->backgroundState, ParentRelative);
-+ ErrorF(" Rgn: %d %d %d %d\n", prgn->extents.x1, prgn->extents.y1,
-+ prgn->extents.x2 - prgn->extents.x1,
-+ prgn->extents.y2 - prgn->extents.y1);
-+ ErrorF(" Win: %d %d (%d %d) %d %d\n", pWin->origin.x, pWin->origin.y,
-+ pWin->winSize.extents.x1, pWin->winSize.extents.y1,
-+ pWin->winSize.extents.x2 - pWin->winSize.extents.x1,
-+ pWin->winSize.extents.y2 - pWin->winSize.extents.y1);
-+ ErrorF(" Draw: %d %d %d %d\n", pWin->drawable.x, pWin->drawable.y,
-+ pWin->drawable.width, pWin->drawable.height);
-+#endif
-+
- #ifdef ROOTLESS
- if(!drawable || drawable->type == UNDRAWABLE_WINDOW)
- return;
--
-- if(IsFramedWindow(pWin)) {
-- RootlessStartDrawing(pWin);
-- RootlessDamageRegion(pWin, prgn);
--
-- if(pWin->backgroundState == ParentRelative) {
-- if((what == PW_BACKGROUND) ||
-- (what == PW_BORDER && !pWin->borderIsPixel))
-- RootlessSetPixmapOfAncestors(pWin);
-- }
-- }
- #endif
-
- if (what == PW_BACKGROUND)
- {
-+#ifdef ROOTLESS
-+ if(IsFramedWindow(pWin)) {
-+ RootlessStartDrawing(pWin);
-+ RootlessDamageRegion(pWin, prgn);
-+
-+ if(pWin->backgroundState == ParentRelative) {
-+ RootlessSetPixmapOfAncestors(pWin);
-+ }
-+ }
-+#endif
-+
- while (pWin->backgroundState == ParentRelative)
- pWin = pWin->parent;
-
-@@ -587,6 +601,18 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
- {
- PixmapPtr pixmap;
-
-+#ifdef ROOTLESS
-+ if(IsFramedWindow(pWin)) {
-+ RootlessStartDrawing(pWin);
-+ RootlessDamageRegion(pWin, prgn);
-+
-+ if(!pWin->borderIsPixel &&
-+ pWin->backgroundState == ParentRelative) {
-+ RootlessSetPixmapOfAncestors(pWin);
-+ }
-+ }
-+#endif
-+
- tile_x_off = drawable->x;
- tile_y_off = drawable->y;
-
-@@ -595,6 +621,12 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
- return;
- pixmap = (*pScreen->GetWindowPixmap) ((WindowPtr) drawable);
- drawable = &pixmap->drawable;
-+
-+#ifdef XQUARTZ_CLIP_DEBUG
-+ ErrorF(" Draw: %d %d %d %d\n",
-+ drawable->x, drawable->y, drawable->width, drawable->height);
-+#endif
-+
- #ifdef COMPOSITE
- draw_x_off = pixmap->screen_x;
- draw_y_off = pixmap->screen_y;
-@@ -657,6 +689,57 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
- ChangeGC (NullClient, pGC, gcmask, gcval);
- ValidateGC (drawable, pGC);
-
-+#ifdef XQUARTZ_CLIP_DEBUG
-+ ErrorF(" GC: %d %d %d %d\n",
-+ pGC->pCompositeClip->extents.x1, pGC->pCompositeClip->extents.y1,
-+ pGC->pCompositeClip->extents.x2 - pGC->pCompositeClip->extents.x1,
-+ pGC->pCompositeClip->extents.y2 - pGC->pCompositeClip->extents.y1);
-+#endif
-+
-+#ifdef XQUARTZ
-+ /* Looks like our clipping isn't set right for some reason:
-+ * http://xquartz.macosforge.org/trac/ticket/290
-+ */
-+ if(what == PW_BORDER) {
-+
-+#if 0
-+ if(solid) {
-+#if 1
-+ fbFillRegionSolid(&pWin->drawable,
-+ prgn,
-+ 0,
-+ fbReplicatePixel(fill.pixel,
-+ pWin->drawable.bitsPerPixel));
-+#else
-+ fbFillRegionSolid(drawable,
-+ prgn,
-+ 0,
-+ fbReplicatePixel(fill.pixel,
-+ drawable->bitsPerPixel));
-+#endif
-+ return;
-+ }
-+#endif
-+
-+ pGC->pCompositeClip->extents.x1 += prgn->extents.x1;
-+ pGC->pCompositeClip->extents.y1 += prgn->extents.y1;
-+ pGC->pCompositeClip->extents.x2 += prgn->extents.x1;
-+ pGC->pCompositeClip->extents.y2 += prgn->extents.y1;
-+
-+ if(pGC->pCompositeClip->extents.x2 > drawable->pScreen->width)
-+ pGC->pCompositeClip->extents.x2 = drawable->pScreen->width;
-+ if(pGC->pCompositeClip->extents.y2 > drawable->pScreen->height)
-+ pGC->pCompositeClip->extents.y2 = drawable->pScreen->height;
-+ }
-+#endif
-+
-+#ifdef XQUARTZ_CLIP_DEBUG
-+ ErrorF(" GC: %d %d %d %d\n",
-+ pGC->pCompositeClip->extents.x1, pGC->pCompositeClip->extents.y1,
-+ pGC->pCompositeClip->extents.x2 - pGC->pCompositeClip->extents.x1,
-+ pGC->pCompositeClip->extents.y2 - pGC->pCompositeClip->extents.y1);
-+#endif
-+
- numRects = RegionNumRects(prgn);
- pbox = RegionRects(prgn);
- for (i= numRects; --i >= 0; pbox++, prect++)
---
-1.7.5.2
-
Added: trunk/dports/x11/xorg-server-devel/files/5002-fb-Revert-fb-changes-that-broke-XQuartz.patch
===================================================================
--- trunk/dports/x11/xorg-server-devel/files/5002-fb-Revert-fb-changes-that-broke-XQuartz.patch (rev 0)
+++ trunk/dports/x11/xorg-server-devel/files/5002-fb-Revert-fb-changes-that-broke-XQuartz.patch 2012-04-06 01:44:00 UTC (rev 91577)
@@ -0,0 +1,316 @@
+From d78dc154176056b8ba23d2f7fd9205ef08fa6a6f Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston <jeremyhu at apple.com>
+Date: Fri, 12 Feb 2010 19:48:52 -0800
+Subject: [PATCH 5002/5002] fb: Revert fb changes that broke XQuartz
+
+http://bugs.freedesktop.org/show_bug.cgi?id=26124
+
+Revert "Fix source pictures getting random transforms after 2d6a8f668342a5190cdf43b5."
+Revert "fb: Adjust transform or composite coordinates for pixman operations"
+
+http://bugs.freedesktop.org/26124
+
+This reverts commit a72c65e9176c51de95db2fdbf4c5d946a4911695.
+This reverts commit a6bd5d2e482a5aa84acb3d4932e2a166d8670ef1.
+
+Signed-off-by: Jeremy Huddleston <jeremyhu at apple.com>
+---
+ fb/fb.h | 3 +--
+ fb/fbpict.c | 82 +++++++++++++++++------------------------------------------
+ fb/fbtrap.c | 43 +++++++++++++------------------
+ 3 files changed, 43 insertions(+), 85 deletions(-)
+
+diff --git a/fb/fb.h b/fb/fb.h
+index b327ce6..53a6c1a 100644
+--- a/fb/fb.h
++++ b/fb/fb.h
+@@ -1683,8 +1683,7 @@ fbFillRegionSolid(DrawablePtr pDrawable,
+ RegionPtr pRegion, FbBits and, FbBits xor);
+
+ extern _X_EXPORT pixman_image_t *image_from_pict(PicturePtr pict,
+- Bool has_clip,
+- int *xoff, int *yoff);
++ Bool has_clip);
+
+ extern _X_EXPORT void free_pixman_pict(PicturePtr, pixman_image_t *);
+
+diff --git a/fb/fbpict.c b/fb/fbpict.c
+index 097a1a6..dc0ca3c 100644
+--- a/fb/fbpict.c
++++ b/fb/fbpict.c
+@@ -46,23 +46,18 @@ fbComposite(CARD8 op,
+ INT16 yMask, INT16 xDst, INT16 yDst, CARD16 width, CARD16 height)
+ {
+ pixman_image_t *src, *mask, *dest;
+- int src_xoff, src_yoff;
+- int msk_xoff, msk_yoff;
+- int dst_xoff, dst_yoff;
+-
+ miCompositeSourceValidate(pSrc);
+ if (pMask)
+ miCompositeSourceValidate(pMask);
+
+- src = image_from_pict(pSrc, FALSE, &src_xoff, &src_yoff);
+- mask = image_from_pict(pMask, FALSE, &msk_xoff, &msk_yoff);
+- dest = image_from_pict(pDst, TRUE, &dst_xoff, &dst_yoff);
++ src = image_from_pict(pSrc, TRUE);
++ mask = image_from_pict(pMask, TRUE);
++ dest = image_from_pict(pDst, TRUE);
+
+ if (src && dest && !(pMask && !mask)) {
+ pixman_image_composite(op, src, mask, dest,
+- xSrc + src_xoff, ySrc + src_yoff,
+- xMask + msk_xoff, yMask + msk_yoff,
+- xDst + dst_xoff, yDst + dst_yoff, width, height);
++ xSrc, ySrc, xMask, yMask, xDst, yDst,
++ width, height);
+ }
+
+ free_pixman_pict(pSrc, src);
+@@ -143,20 +138,22 @@ create_conical_gradient_image(PictGradient * gradient)
+ }
+
+ static pixman_image_t *
+-create_bits_picture(PicturePtr pict, Bool has_clip, int *xoff, int *yoff)
++create_bits_picture(PicturePtr pict, Bool has_clip)
+ {
+- PixmapPtr pixmap;
+ FbBits *bits;
+ FbStride stride;
+- int bpp;
++ int bpp, xoff, yoff;
+ pixman_image_t *image;
+
+- fbGetDrawablePixmap(pict->pDrawable, pixmap, *xoff, *yoff);
+- fbGetPixmapBitsData(pixmap, bits, stride, bpp);
++ fbGetDrawable (pict->pDrawable, bits, stride, bpp, xoff, yoff);
++
++ bits = (FbBits*)((CARD8*)bits +
++ (pict->pDrawable->y + yoff) * stride * sizeof(FbBits) +
++ (pict->pDrawable->x + xoff) * (bpp / 8));
+
+ image = pixman_image_create_bits((pixman_format_code_t) pict->format,
+- pixmap->drawable.width,
+- pixmap->drawable.height, (uint32_t *) bits,
++ pict->pDrawable->width,
++ pict->pDrawable->height, (uint32_t *) bits,
+ stride * sizeof(FbStride));
+
+ if (!image)
+@@ -183,57 +180,31 @@ create_bits_picture(PicturePtr pict, Bool has_clip, int *xoff, int *yoff)
+ if (pict->clientClipType != CT_NONE)
+ pixman_image_set_has_client_clip(image, TRUE);
+
+- if (*xoff || *yoff)
+- pixman_region_translate(pict->pCompositeClip, *xoff, *yoff);
++ pixman_region_translate (pict->pCompositeClip, - pict->pDrawable->x, - pict->pDrawable->y);
+
+ pixman_image_set_clip_region(image, pict->pCompositeClip);
+
+- if (*xoff || *yoff)
+- pixman_region_translate(pict->pCompositeClip, -*xoff, -*yoff);
++ pixman_region_translate (pict->pCompositeClip, pict->pDrawable->x, pict->pDrawable->y);
+ }
+
+ /* Indexed table */
+ if (pict->pFormat->index.devPrivate)
+ pixman_image_set_indexed(image, pict->pFormat->index.devPrivate);
+
+- /* Add in drawable origin to position within the image */
+- *xoff += pict->pDrawable->x;
+- *yoff += pict->pDrawable->y;
+-
+ return image;
+ }
+
+ static pixman_image_t *image_from_pict_internal(PicturePtr pict, Bool has_clip,
+- int *xoff, int *yoff,
+ Bool is_alpha_map);
+
+ static void
+-set_image_properties(pixman_image_t * image, PicturePtr pict, Bool has_clip,
+- int *xoff, int *yoff, Bool is_alpha_map)
++set_image_properties(pixman_image_t * image, PicturePtr pict, Bool is_alpha_map)
+ {
+ pixman_repeat_t repeat;
+ pixman_filter_t filter;
+
+ if (pict->transform) {
+- /* For source images, adjust the transform to account
+- * for the drawable offset within the pixman image,
+- * then set the offset to 0 as it will be used
+- * to compute positions within the transformed image.
+- */
+- if (!has_clip) {
+- struct pixman_transform adjusted;
+-
+- adjusted = *pict->transform;
+- pixman_transform_translate(&adjusted,
+- NULL,
+- pixman_int_to_fixed(*xoff),
+- pixman_int_to_fixed(*yoff));
+- pixman_image_set_transform(image, &adjusted);
+- *xoff = 0;
+- *yoff = 0;
+- }
+- else
+- pixman_image_set_transform(image, pict->transform);
++ pixman_image_set_transform(image, pict->transform);
+ }
+
+ switch (pict->repeatType) {
+@@ -261,10 +232,8 @@ set_image_properties(pixman_image_t * image, PicturePtr pict, Bool has_clip,
+ * as the alpha map for this operation
+ */
+ if (pict->alphaMap && !is_alpha_map) {
+- int alpha_xoff, alpha_yoff;
+ pixman_image_t *alpha_map =
+- image_from_pict_internal(pict->alphaMap, FALSE, &alpha_xoff,
+- &alpha_yoff, TRUE);
++ image_from_pict_internal(pict->alphaMap, TRUE, TRUE);
+
+ pixman_image_set_alpha_map(image, alpha_map, pict->alphaOrigin.x,
+ pict->alphaOrigin.y);
+@@ -298,8 +267,7 @@ set_image_properties(pixman_image_t * image, PicturePtr pict, Bool has_clip,
+ }
+
+ static pixman_image_t *
+-image_from_pict_internal(PicturePtr pict, Bool has_clip, int *xoff, int *yoff,
+- Bool is_alpha_map)
++image_from_pict_internal(PicturePtr pict, Bool has_clip, Bool is_alpha_map)
+ {
+ pixman_image_t *image = NULL;
+
+@@ -307,7 +275,7 @@ image_from_pict_internal(PicturePtr pict, Bool has_clip, int *xoff, int *yoff,
+ return NULL;
+
+ if (pict->pDrawable) {
+- image = create_bits_picture(pict, has_clip, xoff, yoff);
++ image = create_bits_picture(pict, has_clip);
+ }
+ else if (pict->pSourcePict) {
+ SourcePict *sp = pict->pSourcePict;
+@@ -325,19 +293,17 @@ image_from_pict_internal(PicturePtr pict, Bool has_clip, int *xoff, int *yoff,
+ else if (sp->type == SourcePictTypeConical)
+ image = create_conical_gradient_image(gradient);
+ }
+- *xoff = *yoff = 0;
+ }
+
+ if (image)
+- set_image_properties(image, pict, has_clip, xoff, yoff, is_alpha_map);
+-
++ set_image_properties (image, pict, is_alpha_map);
+ return image;
+ }
+
+ pixman_image_t *
+-image_from_pict(PicturePtr pict, Bool has_clip, int *xoff, int *yoff)
++image_from_pict (PicturePtr pict, Bool has_clip)
+ {
+- return image_from_pict_internal(pict, has_clip, xoff, yoff, FALSE);
++ return image_from_pict_internal (pict, has_clip, FALSE);
+ }
+
+ void
+diff --git a/fb/fbtrap.c b/fb/fbtrap.c
+index bf82f8f..0145ce9 100644
+--- a/fb/fbtrap.c
++++ b/fb/fbtrap.c
+@@ -36,13 +36,12 @@ fbAddTraps(PicturePtr pPicture,
+ INT16 x_off, INT16 y_off, int ntrap, xTrap * traps)
+ {
+ pixman_image_t *image;
+- int dst_xoff, dst_yoff;
+
+- if (!(image = image_from_pict(pPicture, FALSE, &dst_xoff, &dst_yoff)))
+- return;
+-
+- pixman_add_traps(image, x_off + dst_xoff, y_off + dst_yoff,
+- ntrap, (pixman_trap_t *) traps);
++ if (!(image = image_from_pict (pPicture, FALSE)))
++ return;
++
++ pixman_add_traps(image, x_off, y_off,
++ ntrap, (pixman_trap_t *)traps);
+
+ free_pixman_pict(pPicture, image);
+ }
+@@ -52,13 +51,12 @@ fbRasterizeTrapezoid(PicturePtr pPicture,
+ xTrapezoid * trap, int x_off, int y_off)
+ {
+ pixman_image_t *image;
+- int dst_xoff, dst_yoff;
+
+- if (!(image = image_from_pict(pPicture, FALSE, &dst_xoff, &dst_yoff)))
++ if (!(image = image_from_pict (pPicture, FALSE)))
+ return;
+
+- pixman_rasterize_trapezoid(image, (pixman_trapezoid_t *) trap,
+- x_off + dst_xoff, y_off + dst_yoff);
++ pixman_rasterize_trapezoid(image, (pixman_trapezoid_t *)trap,
++ x_off, y_off);
+
+ free_pixman_pict(pPicture, image);
+ }
+@@ -68,14 +66,12 @@ fbAddTriangles(PicturePtr pPicture,
+ INT16 x_off, INT16 y_off, int ntri, xTriangle * tris)
+ {
+ pixman_image_t *image;
+- int dst_xoff, dst_yoff;
+
+- if (!(image = image_from_pict(pPicture, FALSE, &dst_xoff, &dst_yoff)))
++ if (!(image = image_from_pict (pPicture, FALSE)))
+ return;
+-
+- pixman_add_triangles(image,
+- dst_xoff + x_off, dst_yoff + y_off,
+- ntri, (pixman_triangle_t *) tris);
++
++ pixman_add_triangles(image, x_off, y_off, ntri,
++ (pixman_triangle_t *)tris);
+
+ free_pixman_pict(pPicture, image);
+ }
+@@ -98,13 +94,11 @@ fbShapes(CompositeShapesFunc composite,
+ int16_t ySrc, int nshapes, int shape_size, const uint8_t * shapes)
+ {
+ pixman_image_t *src, *dst;
+- int src_xoff, src_yoff;
+- int dst_xoff, dst_yoff;
+
+ miCompositeSourceValidate(pSrc);
+
+- src = image_from_pict(pSrc, FALSE, &src_xoff, &src_yoff);
+- dst = image_from_pict(pDst, TRUE, &dst_xoff, &dst_yoff);
++ src = image_from_pict(pSrc, FALSE);
++ dst = image_from_pict(pDst, TRUE);
+
+ if (src && dst) {
+ pixman_format_code_t format;
+@@ -121,9 +115,8 @@ fbShapes(CompositeShapesFunc composite,
+
+ for (i = 0; i < nshapes; ++i) {
+ composite(op, src, dst, format,
+- xSrc + src_xoff,
+- ySrc + src_yoff,
+- dst_xoff, dst_yoff, 1, shapes + i * shape_size);
++ xSrc, ySrc, 0, 0,
++ 1, shapes + i * shape_size);
+ }
+ }
+ else {
+@@ -143,8 +136,8 @@ fbShapes(CompositeShapesFunc composite,
+ }
+
+ composite(op, src, dst, format,
+- xSrc + src_xoff,
+- ySrc + src_yoff, dst_xoff, dst_yoff, nshapes, shapes);
++ xSrc, ySrc, 0, 0,
++ nshapes, shapes);
+ }
+
+ DamageRegionProcessPending(pDst->pDrawable);
+--
+1.7.9.5
+
Deleted: trunk/dports/x11/xorg-server-devel/files/5003-fb-Revert-fb-changes-that-broke-XQuartz.patch
===================================================================
--- trunk/dports/x11/xorg-server-devel/files/5003-fb-Revert-fb-changes-that-broke-XQuartz.patch 2012-04-06 00:36:32 UTC (rev 91576)
+++ trunk/dports/x11/xorg-server-devel/files/5003-fb-Revert-fb-changes-that-broke-XQuartz.patch 2012-04-06 01:44:00 UTC (rev 91577)
@@ -1,320 +0,0 @@
-From 9dfac85c5dccd63a0b97659898e0a06b6ac6079c Mon Sep 17 00:00:00 2001
-From: Jeremy Huddleston <jeremyhu at apple.com>
-Date: Fri, 12 Feb 2010 19:48:52 -0800
-Subject: [PATCH 16/16] fb: Revert fb changes that broke XQuartz
-
-http://bugs.freedesktop.org/show_bug.cgi?id=26124
-
-Revert "Fix source pictures getting random transforms after 2d6a8f668342a5190cdf43b5."
-Revert "fb: Adjust transform or composite coordinates for pixman operations"
-
-http://bugs.freedesktop.org/26124
-
-This reverts commit a72c65e9176c51de95db2fdbf4c5d946a4911695.
-This reverts commit a6bd5d2e482a5aa84acb3d4932e2a166d8670ef1.
-
-Signed-off-by: Jeremy Huddleston <jeremyhu at apple.com>
----
- fb/fb.h | 7 +----
- fb/fbpict.c | 78 +++++++++++++++++++----------------------------------------
- fb/fbtrap.c | 39 +++++++++++++----------------
- 3 files changed, 44 insertions(+), 80 deletions(-)
-
-diff --git xorg-server-1.10.99.901/fb/fb.h xorg-server-1.10.99.901/fb/fb.h
-index eaa21ad..e65a1c0 100644
---- xorg-server-1.10.99.901/fb/fb.h
-+++ xorg-server-1.10.99.901/fb/fb.h
-@@ -2049,11 +2049,8 @@ fbFillRegionSolid (DrawablePtr pDrawable,
- FbBits xor);
-
- extern _X_EXPORT pixman_image_t *
--image_from_pict (PicturePtr pict,
-- Bool has_clip,
-- int *xoff,
-- int *yoff);
--
-+image_from_pict (PicturePtr pict,
-+ Bool has_clip);
- extern _X_EXPORT void free_pixman_pict (PicturePtr, pixman_image_t *);
-
- #endif /* _FB_H_ */
-diff --git xorg-server-1.10.99.901/fb/fbpict.c xorg-server-1.10.99.901/fb/fbpict.c
-index d1fd0cb..d2986c8 100644
---- xorg-server-1.10.99.901/fb/fbpict.c
-+++ xorg-server-1.10.99.901/fb/fbpict.c
-@@ -50,24 +50,19 @@ fbComposite (CARD8 op,
- CARD16 height)
- {
- pixman_image_t *src, *mask, *dest;
-- int src_xoff, src_yoff;
-- int msk_xoff, msk_yoff;
-- int dst_xoff, dst_yoff;
-
- miCompositeSourceValidate (pSrc);
- if (pMask)
- miCompositeSourceValidate (pMask);
-
-- src = image_from_pict (pSrc, FALSE, &src_xoff, &src_yoff);
-- mask = image_from_pict (pMask, FALSE, &msk_xoff, &msk_yoff);
-- dest = image_from_pict (pDst, TRUE, &dst_xoff, &dst_yoff);
-+ src = image_from_pict (pSrc, TRUE);
-+ mask = image_from_pict (pMask, TRUE);
-+ dest = image_from_pict (pDst, TRUE);
-
- if (src && dest && !(pMask && !mask))
- {
- pixman_image_composite (op, src, mask, dest,
-- xSrc + src_xoff, ySrc + src_yoff,
-- xMask + msk_xoff, yMask + msk_yoff,
-- xDst + dst_xoff, yDst + dst_yoff,
-+ xSrc, ySrc, xMask, yMask, xDst, yDst,
- width, height);
- }
-
-@@ -146,22 +141,22 @@ create_conical_gradient_image (PictGradient *gradient)
-
- static pixman_image_t *
- create_bits_picture (PicturePtr pict,
-- Bool has_clip,
-- int *xoff,
-- int *yoff)
-+ Bool has_clip)
- {
-- PixmapPtr pixmap;
- FbBits *bits;
- FbStride stride;
-- int bpp;
-+ int bpp, xoff, yoff;
- pixman_image_t *image;
-
-- fbGetDrawablePixmap (pict->pDrawable, pixmap, *xoff, *yoff);
-- fbGetPixmapBitsData(pixmap, bits, stride, bpp);
-+ fbGetDrawable (pict->pDrawable, bits, stride, bpp, xoff, yoff);
-+
-+ bits = (FbBits*)((CARD8*)bits +
-+ (pict->pDrawable->y + yoff) * stride * sizeof(FbBits) +
-+ (pict->pDrawable->x + xoff) * (bpp / 8));
-
- image = pixman_image_create_bits (
- (pixman_format_code_t)pict->format,
-- pixmap->drawable.width, pixmap->drawable.height,
-+ pict->pDrawable->width, pict->pDrawable->height,
- (uint32_t *)bits, stride * sizeof (FbStride));
-
-
-@@ -187,55 +182,33 @@ create_bits_picture (PicturePtr pict,
- if (pict->clientClipType != CT_NONE)
- pixman_image_set_has_client_clip (image, TRUE);
-
-- if (*xoff || *yoff)
-- pixman_region_translate (pict->pCompositeClip, *xoff, *yoff);
-+ pixman_region_translate (pict->pCompositeClip, - pict->pDrawable->x, - pict->pDrawable->y);
-
- pixman_image_set_clip_region (image, pict->pCompositeClip);
-
-- if (*xoff || *yoff)
-- pixman_region_translate (pict->pCompositeClip, -*xoff, -*yoff);
-+ pixman_region_translate (pict->pCompositeClip, pict->pDrawable->x, pict->pDrawable->y);
- }
-
- /* Indexed table */
- if (pict->pFormat->index.devPrivate)
- pixman_image_set_indexed (image, pict->pFormat->index.devPrivate);
-
-- /* Add in drawable origin to position within the image */
-- *xoff += pict->pDrawable->x;
-- *yoff += pict->pDrawable->y;
--
- return image;
- }
-
- static pixman_image_t *
--image_from_pict_internal (PicturePtr pict, Bool has_clip, int *xoff, int *yoff, Bool is_alpha_map);
-+image_from_pict_internal (PicturePtr pict, Bool has_clip, Bool is_alpha_map);
-
- static void
--set_image_properties (pixman_image_t *image, PicturePtr pict, Bool has_clip, int *xoff, int *yoff, Bool is_alpha_map)
-+set_image_properties (pixman_image_t *image, PicturePtr pict, Bool is_alpha_map)
- {
- pixman_repeat_t repeat;
- pixman_filter_t filter;
-
- if (pict->transform)
- {
-- /* For source images, adjust the transform to account
-- * for the drawable offset within the pixman image,
-- * then set the offset to 0 as it will be used
-- * to compute positions within the transformed image.
-- */
-- if (!has_clip) {
-- struct pixman_transform adjusted;
--
-- adjusted = *pict->transform;
-- pixman_transform_translate(&adjusted,
-- NULL,
-- pixman_int_to_fixed(*xoff),
-- pixman_int_to_fixed(*yoff));
-- pixman_image_set_transform (image, &adjusted);
-- *xoff = 0;
-- *yoff = 0;
-- } else
-- pixman_image_set_transform (image, pict->transform);
-+ pixman_image_set_transform (
-+ image, (pixman_transform_t *)pict->transform);
- }
-
- switch (pict->repeatType)
-@@ -265,8 +238,7 @@ set_image_properties (pixman_image_t *image, PicturePtr pict, Bool has_clip, int
- */
- if (pict->alphaMap && !is_alpha_map)
- {
-- int alpha_xoff, alpha_yoff;
-- pixman_image_t *alpha_map = image_from_pict_internal (pict->alphaMap, FALSE, &alpha_xoff, &alpha_yoff, TRUE);
-+ pixman_image_t *alpha_map = image_from_pict_internal (pict->alphaMap, TRUE, TRUE);
-
- pixman_image_set_alpha_map (
- image, alpha_map, pict->alphaOrigin.x, pict->alphaOrigin.y);
-@@ -299,7 +271,8 @@ set_image_properties (pixman_image_t *image, PicturePtr pict, Bool has_clip, int
- }
-
- static pixman_image_t *
--image_from_pict_internal (PicturePtr pict, Bool has_clip, int *xoff, int *yoff, Bool is_alpha_map)
-+image_from_pict_internal (PicturePtr pict,
-+ Bool has_clip, Bool is_alpha_map)
- {
- pixman_image_t *image = NULL;
-
-@@ -308,7 +281,7 @@ image_from_pict_internal (PicturePtr pict, Bool has_clip, int *xoff, int *yoff,
-
- if (pict->pDrawable)
- {
-- image = create_bits_picture (pict, has_clip, xoff, yoff);
-+ image = create_bits_picture (pict, has_clip);
- }
- else if (pict->pSourcePict)
- {
-@@ -329,19 +302,18 @@ image_from_pict_internal (PicturePtr pict, Bool has_clip, int *xoff, int *yoff,
- else if (sp->type == SourcePictTypeConical)
- image = create_conical_gradient_image (gradient);
- }
-- *xoff = *yoff = 0;
- }
-
- if (image)
-- set_image_properties (image, pict, has_clip, xoff, yoff, is_alpha_map);
-+ set_image_properties (image, pict, is_alpha_map);
-
- return image;
- }
-
- pixman_image_t *
--image_from_pict (PicturePtr pict, Bool has_clip, int *xoff, int *yoff)
-+image_from_pict (PicturePtr pict, Bool has_clip)
- {
-- return image_from_pict_internal (pict, has_clip, xoff, yoff, FALSE);
-+ return image_from_pict_internal (pict, has_clip, FALSE);
- }
-
- void
-diff --git xorg-server-1.10.99.901/fb/fbtrap.c xorg-server-1.10.99.901/fb/fbtrap.c
-index 0b5a638..fbe2647 100644
---- xorg-server-1.10.99.901/fb/fbtrap.c
-+++ xorg-server-1.10.99.901/fb/fbtrap.c
-@@ -39,12 +39,11 @@ fbAddTraps (PicturePtr pPicture,
- xTrap *traps)
- {
- pixman_image_t *image;
-- int dst_xoff, dst_yoff;
-
-- if (!(image = image_from_pict (pPicture, FALSE, &dst_xoff, &dst_yoff)))
-+ if (!(image = image_from_pict (pPicture, FALSE)))
- return;
-
-- pixman_add_traps (image, x_off + dst_xoff, y_off + dst_yoff,
-+ pixman_add_traps (image, x_off, y_off,
- ntrap, (pixman_trap_t *)traps);
-
- free_pixman_pict (pPicture, image);
-@@ -57,14 +56,13 @@ fbRasterizeTrapezoid (PicturePtr pPicture,
- int y_off)
- {
- pixman_image_t *image;
-- int dst_xoff, dst_yoff;
-
-- if (!(image = image_from_pict (pPicture, FALSE, &dst_xoff, &dst_yoff)))
-+ if (!(image = image_from_pict (pPicture, FALSE)))
- return;
-
- pixman_rasterize_trapezoid (image, (pixman_trapezoid_t *)trap,
-- x_off + dst_xoff,
-- y_off + dst_yoff);
-+ x_off,
-+ y_off);
-
- free_pixman_pict (pPicture, image);
- }
-@@ -77,13 +75,12 @@ fbAddTriangles (PicturePtr pPicture,
- xTriangle *tris)
- {
- pixman_image_t *image;
-- int dst_xoff, dst_yoff;
-
-- if (!(image = image_from_pict (pPicture, FALSE, &dst_xoff, &dst_yoff)))
-+ if (!(image = image_from_pict (pPicture, FALSE)))
- return;
-
- pixman_add_triangles (image,
-- dst_xoff + x_off, dst_yoff + y_off,
-+ x_off, y_off,
- ntri, (pixman_triangle_t *)tris);
-
- free_pixman_pict (pPicture, image);
-@@ -110,13 +107,11 @@ fbShapes (CompositeShapesFunc composite,
- const uint8_t * shapes)
- {
- pixman_image_t *src, *dst;
-- int src_xoff, src_yoff;
-- int dst_xoff, dst_yoff;
-
- miCompositeSourceValidate (pSrc);
-
-- src = image_from_pict (pSrc, FALSE, &src_xoff, &src_yoff);
-- dst = image_from_pict (pDst, TRUE, &dst_xoff, &dst_yoff);
-+ src = image_from_pict (pSrc, FALSE);
-+ dst = image_from_pict (pDst, TRUE);
-
- if (src && dst)
- {
-@@ -136,10 +131,10 @@ fbShapes (CompositeShapesFunc composite,
- for (i = 0; i < nshapes; ++i)
- {
- composite (op, src, dst, format,
-- xSrc + src_xoff,
-- ySrc + src_yoff,
-- dst_xoff,
-- dst_yoff,
-+ xSrc,
-+ ySrc,
-+ 0,
-+ 0,
- 1, shapes + i * shape_size);
- }
- }
-@@ -162,10 +157,10 @@ fbShapes (CompositeShapesFunc composite,
- }
-
- composite (op, src, dst, format,
-- xSrc + src_xoff,
-- ySrc + src_yoff,
-- dst_xoff,
-- dst_yoff,
-+ xSrc,
-+ ySrc,
-+ 0,
-+ 0,
- nshapes, shapes);
- }
-
---
-1.7.5.2
-
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20120405/256ce979/attachment-0001.html>
More information about the macports-changes
mailing list