aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDonnie Berkholz <spyderous@gentoo.org>2006-06-24 16:12:26 -0700
committerDonnie Berkholz <donnie@comet.(none)>2006-06-24 16:12:26 -0700
commit6ddc6b4dca52faabcea3d632e34fc5ab97a4264d (patch)
tree9795607e139598872090af1a90ac828ae5309f50 /x11-base
parentRevert "git.eclass: Set GIT_DIR on updates, or else they don't work." (diff)
downloaddberkholz-6ddc6b4dca52faabcea3d632e34fc5ab97a4264d.tar.gz
dberkholz-6ddc6b4dca52faabcea3d632e34fc5ab97a4264d.tar.bz2
dberkholz-6ddc6b4dca52faabcea3d632e34fc5ab97a4264d.zip
xorg-server: Updates for current git, aiglx, actually apply patches
Update a couple of patches for the xprint move to hw/xprint/ from Xprint/. Add krh's latest aiglx patches from people.freedesktop.org/~krh/compiz-on-aiglx/. Make sure patches actually get applied by adding a call to x-modular_patch_source().
Diffstat (limited to 'x11-base')
-rw-r--r--x11-base/xorg-server/Manifest40
-rw-r--r--x11-base/xorg-server/files/9999-Xprint-xprintdir.patch (renamed from x11-base/xorg-server/files/1.0.99.901-Xprint-xprintdir.patch)4
-rw-r--r--x11-base/xorg-server/files/aiglx-gl-include-inferiors.patch32
-rw-r--r--x11-base/xorg-server/files/aiglx-tfp-damage.patch144
-rw-r--r--x11-base/xorg-server/files/xorg-server-9999-xprint-init.patch (renamed from x11-base/xorg-server/files/xorg-server-1.0.2-xprint-init.patch)4
-rw-r--r--x11-base/xorg-server/files/xorg-x11-server-1.1.0-gl-include-inferiors.patch67
-rw-r--r--x11-base/xorg-server/files/xorg-x11-server-1.1.0-tfp-damage.patch170
-rw-r--r--x11-base/xorg-server/xorg-server-9999.ebuild9
8 files changed, 266 insertions, 204 deletions
diff --git a/x11-base/xorg-server/Manifest b/x11-base/xorg-server/Manifest
index f86d1ad..0d108f9 100644
--- a/x11-base/xorg-server/Manifest
+++ b/x11-base/xorg-server/Manifest
@@ -1,31 +1,31 @@
-AUX 1.0.99.901-Xprint-xprintdir.patch 447 RMD160 7728ad1173bb6e8fcb73ddcfc3ef29f93cdde4f3 SHA1 387df8c7669b525fc7b041ce7574324680dbce48 SHA256 4dcd1bcebfccf0b51956ea6f30bae2f0f9b7b1f62e215d16b63ef19b7433d955
-MD5 e4ab51b8df81d9a3be044112dff3736f files/1.0.99.901-Xprint-xprintdir.patch 447
-RMD160 7728ad1173bb6e8fcb73ddcfc3ef29f93cdde4f3 files/1.0.99.901-Xprint-xprintdir.patch 447
-SHA256 4dcd1bcebfccf0b51956ea6f30bae2f0f9b7b1f62e215d16b63ef19b7433d955 files/1.0.99.901-Xprint-xprintdir.patch 447
-AUX aiglx-gl-include-inferiors.patch 1184 RMD160 d4d92cef47e2f526925710e3d259c562d4e200b6 SHA1 9950bf0a49d35d842cf7a9bb7ddc3347eade6e61 SHA256 a08a5180c9dbb61f84cf577bc761064ff7fdc2db5b4d7cb42055d5590d410652
-MD5 911a31da943e7f9e4501079a307db6ab files/aiglx-gl-include-inferiors.patch 1184
-RMD160 d4d92cef47e2f526925710e3d259c562d4e200b6 files/aiglx-gl-include-inferiors.patch 1184
-SHA256 a08a5180c9dbb61f84cf577bc761064ff7fdc2db5b4d7cb42055d5590d410652 files/aiglx-gl-include-inferiors.patch 1184
-AUX aiglx-tfp-damage.patch 4534 RMD160 6efe82089e0ac7e280bfa7c0feeed5ecf33042f5 SHA1 af53de7c5b5aa695d22b43f5327acf37c5931a41 SHA256 faa62e2cb5cfafabbaef42d3ecac42d4139684b321b31f597b4d6f3b62fcb1a1
-MD5 5d7647b1c0b0e09eedb4572142c624df files/aiglx-tfp-damage.patch 4534
-RMD160 6efe82089e0ac7e280bfa7c0feeed5ecf33042f5 files/aiglx-tfp-damage.patch 4534
-SHA256 faa62e2cb5cfafabbaef42d3ecac42d4139684b321b31f597b4d6f3b62fcb1a1 files/aiglx-tfp-damage.patch 4534
-AUX xorg-server-1.0.2-xprint-init.patch 417 RMD160 e29f58581c421724adf09f1df3e991092f89a017 SHA1 7d2a4eb212cc770cc22a496df2696a0bca1f7774 SHA256 89c8e2253b374b2152908dd4514a19ff302b753d6a7c8be272999ad192edc905
-MD5 5106c724275e86950e5f4c88913198a1 files/xorg-server-1.0.2-xprint-init.patch 417
-RMD160 e29f58581c421724adf09f1df3e991092f89a017 files/xorg-server-1.0.2-xprint-init.patch 417
-SHA256 89c8e2253b374b2152908dd4514a19ff302b753d6a7c8be272999ad192edc905 files/xorg-server-1.0.2-xprint-init.patch 417
+AUX 9999-Xprint-xprintdir.patch 443 RMD160 7d90378c88298fd9848dc617268cd33118efd34f SHA1 3eac0daf7bfc83539952df997405dd9ffd2536d6 SHA256 df3616cd45265931bd8da3bc0562e543e1563882c0decd5a327885ca9d468e27
+MD5 094e61842bff2b9ef69ed6bfaf84112e files/9999-Xprint-xprintdir.patch 443
+RMD160 7d90378c88298fd9848dc617268cd33118efd34f files/9999-Xprint-xprintdir.patch 443
+SHA256 df3616cd45265931bd8da3bc0562e543e1563882c0decd5a327885ca9d468e27 files/9999-Xprint-xprintdir.patch 443
AUX xorg-server-9999-Sbus.patch 2388 RMD160 f9757cbfed84e0e873f706e7a33ac04216b7dd72 SHA1 b2f5ca6d167d885282a44cdf700ac51043a92043 SHA256 5e3255a38216599ddd7e3b108eb96c53a9c1d595ceee80ac3c698e1d0af7811e
MD5 912a66d58d73ad9c95c1c7d40c71f679 files/xorg-server-9999-Sbus.patch 2388
RMD160 f9757cbfed84e0e873f706e7a33ac04216b7dd72 files/xorg-server-9999-Sbus.patch 2388
SHA256 5e3255a38216599ddd7e3b108eb96c53a9c1d595ceee80ac3c698e1d0af7811e files/xorg-server-9999-Sbus.patch 2388
+AUX xorg-server-9999-xprint-init.patch 423 RMD160 df4d3c9800f93bb7ede6652877b37c67a599fecd SHA1 989e05aeb2a8624fc8d09c723c03f5bece219850 SHA256 35d332bcd75460cd9defbfb8951af85947dd2dc0303713f5780ef1e36be4c9dd
+MD5 0659108a96e582f9201d9c280dbf57e4 files/xorg-server-9999-xprint-init.patch 423
+RMD160 df4d3c9800f93bb7ede6652877b37c67a599fecd files/xorg-server-9999-xprint-init.patch 423
+SHA256 35d332bcd75460cd9defbfb8951af85947dd2dc0303713f5780ef1e36be4c9dd files/xorg-server-9999-xprint-init.patch 423
+AUX xorg-x11-server-1.1.0-gl-include-inferiors.patch 1814 RMD160 dd72eb4b23dd250e5feab7a9eca828af6e575705 SHA1 cce04afeda7de7c646af87c418801f8bf37f6292 SHA256 cb4ab143442ea0f153d789d2b9d63efad9e5256fbc90cba68fe13637911584d0
+MD5 3df64268f8099d1a16bc84428fee1ca1 files/xorg-x11-server-1.1.0-gl-include-inferiors.patch 1814
+RMD160 dd72eb4b23dd250e5feab7a9eca828af6e575705 files/xorg-x11-server-1.1.0-gl-include-inferiors.patch 1814
+SHA256 cb4ab143442ea0f153d789d2b9d63efad9e5256fbc90cba68fe13637911584d0 files/xorg-x11-server-1.1.0-gl-include-inferiors.patch 1814
+AUX xorg-x11-server-1.1.0-tfp-damage.patch 5076 RMD160 1c7d80e6ead64714bb84705c8e1a79aa6cbb59dc SHA1 bd3ae681c22da76ac1c8fe0d2b5c43f03e677db5 SHA256 087e62dc12f78cbb093ca2e0d7b484c8a13757e1fb70245503e1a046e3d7123b
+MD5 55807af4f6783934b32aff42a6c44980 files/xorg-x11-server-1.1.0-tfp-damage.patch 5076
+RMD160 1c7d80e6ead64714bb84705c8e1a79aa6cbb59dc files/xorg-x11-server-1.1.0-tfp-damage.patch 5076
+SHA256 087e62dc12f78cbb093ca2e0d7b484c8a13757e1fb70245503e1a046e3d7123b files/xorg-x11-server-1.1.0-tfp-damage.patch 5076
AUX xprint.init 598 RMD160 85de6a023912d8ac40cba4f32b5559655e0e281e SHA1 1590a29e11f813bb1353b4cc815708e97bfbb96b SHA256 9474c19d125d9534b93c038cba7c4bdc7c45bf3ed51279ff2e130fe031a15c13
MD5 9bf4e36931c99f405aa6766ff5614e51 files/xprint.init 598
RMD160 85de6a023912d8ac40cba4f32b5559655e0e281e files/xprint.init 598
SHA256 9474c19d125d9534b93c038cba7c4bdc7c45bf3ed51279ff2e130fe031a15c13 files/xprint.init 598
-EBUILD xorg-server-9999.ebuild 22621 RMD160 7c5b3e305bc7d45296dfbd1603d4cd7f968901f0 SHA1 403b6a2ba3eb6506df021691c8da355a1fa6de1f SHA256 9f95665d0d7ca773016514db687d1f772b1e63c4f3dc22f578d5863b9134f716
-MD5 097eccff3792db06077f83bb9d0fc3f3 xorg-server-9999.ebuild 22621
-RMD160 7c5b3e305bc7d45296dfbd1603d4cd7f968901f0 xorg-server-9999.ebuild 22621
-SHA256 9f95665d0d7ca773016514db687d1f772b1e63c4f3dc22f578d5863b9134f716 xorg-server-9999.ebuild 22621
+EBUILD xorg-server-9999.ebuild 22673 RMD160 c42dacc96b1e8b8c3e62a6f546904f1b00dfd866 SHA1 2ce71ed9b238cb237a08e46c4d49c2d127c7db6e SHA256 eac7bc9e7d1f08d5efb445d9f7e40de5f9ef4177bf929dbecf532879eaf61b7f
+MD5 63532731237e2c970efbc58f7c443fef xorg-server-9999.ebuild 22673
+RMD160 c42dacc96b1e8b8c3e62a6f546904f1b00dfd866 xorg-server-9999.ebuild 22673
+SHA256 eac7bc9e7d1f08d5efb445d9f7e40de5f9ef4177bf929dbecf532879eaf61b7f xorg-server-9999.ebuild 22673
MD5 68b329da9893e34099c7d8ad5cb9c940 files/digest-xorg-server-9999 1
RMD160 c0da025038ed83c687ddc430da9846ecb97f3998 files/digest-xorg-server-9999 1
SHA256 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b files/digest-xorg-server-9999 1
diff --git a/x11-base/xorg-server/files/1.0.99.901-Xprint-xprintdir.patch b/x11-base/xorg-server/files/9999-Xprint-xprintdir.patch
index 5a91db4..ee3016c 100644
--- a/x11-base/xorg-server/files/1.0.99.901-Xprint-xprintdir.patch
+++ b/x11-base/xorg-server/files/9999-Xprint-xprintdir.patch
@@ -1,5 +1,5 @@
---- xserver/xorg/Xprint/Makefile.am 2006/04/21 13:38:39 1.1
-+++ xserver/xorg/Xprint/Makefile.am 2006/04/21 13:38:52
+--- xserver/hw/xprint/Makefile.am 2006/04/21 13:38:39 1.1
++++ xserver/hw/xprint/Makefile.am 2006/04/21 13:38:52
@@ -4,7 +4,7 @@ bin_PROGRAMS = Xprt
Xprt_CFLAGS = @SERVER_DEFINES@ @DIX_CFLAGS@ @XPRINT_CFLAGS@ \
diff --git a/x11-base/xorg-server/files/aiglx-gl-include-inferiors.patch b/x11-base/xorg-server/files/aiglx-gl-include-inferiors.patch
deleted file mode 100644
index 9fc3f0d..0000000
--- a/x11-base/xorg-server/files/aiglx-gl-include-inferiors.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-Index: hw/xfree86/dri/dri.c
-===================================================================
-RCS file: /cvs/xorg/xserver/xorg/hw/xfree86/dri/dri.c,v
-retrieving revision 1.19.2.1
-diff -u -p -r1.19.2.1 dri.c
---- hw/xfree86/dri/dri.c 24 Feb 2006 05:49:33 -0000 1.19.2.1
-+++ hw/xfree86/dri/dri.c 5 Mar 2006 18:59:55 -0000
-@@ -1132,6 +1132,7 @@ DRIGetDrawableInfo(ScreenPtr pScreen,
- {
- DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
- DRIDrawablePrivPtr pDRIDrawablePriv, pOldDrawPriv;
-+ RegionPtr pClipList;
- WindowPtr pWin, pOldWin;
- int i;
-
-@@ -1223,8 +1224,14 @@ DRIGetDrawableInfo(ScreenPtr pScreen,
- #endif
- *W = (int)(pWin->drawable.width);
- *H = (int)(pWin->drawable.height);
-- *numClipRects = REGION_NUM_RECTS(&pWin->clipList);
-- *pClipRects = (drm_clip_rect_t *)REGION_RECTS(&pWin->clipList);
-+
-+ if (1) /* glIncludeInferiors */
-+ pClipList = &pWin->borderClip;
-+ else
-+ pClipList = &pWin->clipList;
-+
-+ *numClipRects = REGION_NUM_RECTS(pClipList);
-+ *pClipRects = (drm_clip_rect_t *)REGION_RECTS(pClipList);
-
- if (!*numClipRects && pDRIPriv->fullscreen) {
- /* use fake full-screen clip rect */
diff --git a/x11-base/xorg-server/files/aiglx-tfp-damage.patch b/x11-base/xorg-server/files/aiglx-tfp-damage.patch
deleted file mode 100644
index 0ae7dc7..0000000
--- a/x11-base/xorg-server/files/aiglx-tfp-damage.patch
+++ /dev/null
@@ -1,144 +0,0 @@
-? GL/glx/glxinterface.h
-? doc/Xserver.1x
-Index: GL/glx/glxcmds.c
-===================================================================
-RCS file: /cvs/xorg/xserver/xorg/GL/glx/glxcmds.c,v
-retrieving revision 1.10.2.5
-diff -u -p -r1.10.2.5 glxcmds.c
---- GL/glx/glxcmds.c 6 Mar 2006 00:11:40 -0000 1.10.2.5
-+++ GL/glx/glxcmds.c 6 Mar 2006 00:38:37 -0000
-@@ -1245,6 +1245,7 @@ int DoCreateGLXPixmap(__GLXclientState *
- pGlxPixmap->pGlxScreen = pGlxScreen;
- pGlxPixmap->pScreen = pScreen;
- pGlxPixmap->idExists = True;
-+ pGlxPixmap->pDamage = NULL;
- pGlxPixmap->refcnt = 0;
-
- pGlxPixmap->modes = modes;
-Index: GL/glx/glxdrawable.h
-===================================================================
-RCS file: /cvs/xorg/xserver/xorg/GL/glx/glxdrawable.h,v
-retrieving revision 1.4.10.1
-diff -u -p -r1.4.10.1 glxdrawable.h
---- GL/glx/glxdrawable.h 24 Feb 2006 05:49:33 -0000 1.4.10.1
-+++ GL/glx/glxdrawable.h 6 Mar 2006 00:38:37 -0000
-@@ -41,6 +41,8 @@
- **
- */
-
-+#include <damage.h>
-+
- typedef struct {
-
- DrawablePtr pDraw;
-@@ -49,7 +51,7 @@ typedef struct {
- ScreenPtr pScreen;
- Bool idExists;
- int refcnt;
--
-+ DamagePtr pDamage;
- } __GLXpixmap;
-
- struct __GLXdrawable {
-Index: GL/glx/glxdri.c
-===================================================================
-RCS file: /cvs/xorg/xserver/xorg/GL/glx/Attic/glxdri.c,v
-retrieving revision 1.1.2.11
-diff -u -p -r1.1.2.11 glxdri.c
---- GL/glx/glxdri.c 6 Mar 2006 00:11:40 -0000 1.1.2.11
-+++ GL/glx/glxdri.c 6 Mar 2006 00:38:37 -0000
-@@ -334,13 +334,36 @@ __glXDRIbindTexImage(__GLXcontext *baseC
- int buffer,
- __GLXpixmap *glxPixmap)
- {
-+ RegionPtr pRegion;
- PixmapPtr pixmap;
-- int bpp;
-- Bool npot;
-+ int bpp, xoff, yoff, width, height;
-+ GLenum target, format, type;
-
- pixmap = (PixmapPtr) glxPixmap->pDraw;
-- bpp = pixmap->drawable.depth >= 24 ? 4 : 2; /* XXX 24bpp packed, 8, etc */
--
-+ if (!glxPixmap->pDamage) {
-+ glxPixmap->pDamage = DamageCreate(NULL, NULL, DamageReportNone,
-+ TRUE, glxPixmap->pScreen, NULL);
-+ if (!glxPixmap->pDamage)
-+ return BadAlloc;
-+
-+ DamageRegister ((DrawablePtr) pixmap, glxPixmap->pDamage);
-+ } else {
-+ pRegion = DamageRegion(glxPixmap->pDamage);
-+ if (REGION_NIL(pRegion))
-+ return Success;
-+ }
-+
-+ /* XXX 24bpp packed, 8, etc */
-+ if (pixmap->drawable.depth >= 24) {
-+ bpp = 4;
-+ format = GL_BGRA;
-+ type = GL_UNSIGNED_BYTE;
-+ } else {
-+ bpp = 2;
-+ format = GL_RGB;
-+ type = GL_UNSIGNED_SHORT_5_6_5;
-+ }
-+
- CALL_PixelStorei( GET_DISPATCH(), (GL_UNPACK_ROW_LENGTH,
- pixmap->devKind / bpp) );
- CALL_PixelStorei( GET_DISPATCH(), (GL_UNPACK_SKIP_ROWS,
-@@ -351,22 +374,27 @@ __glXDRIbindTexImage(__GLXcontext *baseC
- if (pixmap->drawable.depth == 24)
- glxFillAlphaChannel(pixmap);
-
-- npot = !(glxCountBits(pixmap->drawable.width) == 1 &&
-- glxCountBits(pixmap->drawable.height) == 1) /* ||
-- strstr(CALL_GetString(GL_EXTENSIONS,
-- "GL_ARB_texture_non_power_of_two")) */ ;
--
-+ if (!(glxCountBits(pixmap->drawable.width) == 1 &&
-+ glxCountBits(pixmap->drawable.height) == 1)
-+ /* || strstr(CALL_GetString(GL_EXTENSIONS,
-+ "GL_ARB_texture_non_power_of_two")) */)
-+ target = GL_TEXTURE_RECTANGLE_ARB;
-+ else
-+ target = GL_TEXTURE_2D;
-+
- CALL_TexImage2D( GET_DISPATCH(),
-- ( npot ? GL_TEXTURE_RECTANGLE_ARB : GL_TEXTURE_2D,
-+ ( target,
- 0,
- bpp == 4 ? 4 : 3,
- pixmap->drawable.width,
- pixmap->drawable.height,
- 0,
-- bpp == 4 ? GL_BGRA : GL_RGB,
-- bpp == 4 ? GL_UNSIGNED_BYTE : GL_UNSIGNED_SHORT_5_6_5,
-+ format,
-+ type,
- pixmap->devPrivate.ptr ) );
-
-+ DamageEmpty(glxPixmap->pDamage);
-+
- return Success;
- }
-
-Index: GL/glx/glxext.c
-===================================================================
-RCS file: /cvs/xorg/xserver/xorg/GL/glx/glxext.c,v
-retrieving revision 1.6.10.3
-diff -u -p -r1.6.10.3 glxext.c
---- GL/glx/glxext.c 6 Mar 2006 00:11:40 -0000 1.6.10.3
-+++ GL/glx/glxext.c 6 Mar 2006 00:38:37 -0000
-@@ -140,6 +140,10 @@ static int PixmapGone(__GLXpixmap *pGlxP
-
- pGlxPixmap->idExists = False;
- if (!pGlxPixmap->refcnt) {
-+ if (pGlxPixmap->pDamage) {
-+ DamageUnregister (pGlxPixmap->pDraw, pGlxPixmap->pDamage);
-+ DamageDestroy(pGlxPixmap->pDamage);
-+ }
- /*
- ** The DestroyPixmap routine should decrement the refcount and free
- ** only if it's zero.
diff --git a/x11-base/xorg-server/files/xorg-server-1.0.2-xprint-init.patch b/x11-base/xorg-server/files/xorg-server-9999-xprint-init.patch
index a4783ab..9cf2b22 100644
--- a/x11-base/xorg-server/files/xorg-server-1.0.2-xprint-init.patch
+++ b/x11-base/xorg-server/files/xorg-server-9999-xprint-init.patch
@@ -1,5 +1,5 @@
---- Xprint/etc/init.d/Makefile.am 2006/04/14 04:47:28 1.1
-+++ Xprint/etc/init.d/Makefile.am 2006/04/14 05:26:42
+--- hw/xprint/etc/init.d/Makefile.am 2006/04/14 04:47:28 1.1
++++ hw/xprint/etc/init.d/Makefile.am 2006/04/14 05:26:42
@@ -1 +1,12 @@
+include $(top_srcdir)/cpprules.in
+
diff --git a/x11-base/xorg-server/files/xorg-x11-server-1.1.0-gl-include-inferiors.patch b/x11-base/xorg-server/files/xorg-x11-server-1.1.0-gl-include-inferiors.patch
new file mode 100644
index 0000000..6639364
--- /dev/null
+++ b/x11-base/xorg-server/files/xorg-x11-server-1.1.0-gl-include-inferiors.patch
@@ -0,0 +1,67 @@
+--- ./hw/xfree86/dri/dri.c-gl-include-inferiors 2006-04-02 21:34:54.000000000 -0400
++++ ./hw/xfree86/dri/dri.c 2006-06-12 20:58:00.000000000 -0400
+@@ -69,6 +69,8 @@
+ #include "mi.h"
+ #include "mipointer.h"
+
++#include "selection.h"
++
+ #if defined(XFree86LOADER) && !defined(PANORAMIX)
+ extern Bool noPanoramiXExtension;
+ #endif
+@@ -1116,6 +1118,31 @@
+ return TRUE;
+ }
+
++extern Selection *CurrentSelections;
++extern int NumCurrentSelections;
++
++static Bool
++DRIIncludeInferiors(void)
++{
++
++ static Atom atom = BAD_RESOURCE;
++ static char atom_name[] = "_COMPIZ_GL_INCLUDE_INFERIORS";
++ int i;
++
++ if (atom == BAD_RESOURCE) {
++ atom = MakeAtom(atom_name, strlen(atom_name), True);
++ if (atom == BAD_RESOURCE)
++ return False;
++ }
++
++ for (i = 0; i < NumCurrentSelections; i++)
++ if (CurrentSelections[i].selection == atom &&
++ CurrentSelections[i].window != None)
++ return True;
++
++ return False;
++}
++
+ Bool
+ DRIGetDrawableInfo(ScreenPtr pScreen,
+ DrawablePtr pDrawable,
+@@ -1134,6 +1161,7 @@
+ {
+ DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
+ DRIDrawablePrivPtr pDRIDrawablePriv, pOldDrawPriv;
++ RegionPtr pClipList;
+ WindowPtr pWin, pOldWin;
+ int i;
+
+@@ -1227,8 +1255,13 @@
+ #endif
+ *W = (int)(pWin->drawable.width);
+ *H = (int)(pWin->drawable.height);
+- *numClipRects = REGION_NUM_RECTS(&pWin->clipList);
+- *pClipRects = (drm_clip_rect_t *)REGION_RECTS(&pWin->clipList);
++ if (DRIIncludeInferiors())
++ pClipList = &pWin->borderClip;
++ else
++ pClipList = &pWin->clipList;
++
++ *numClipRects = REGION_NUM_RECTS(pClipList);
++ *pClipRects = (drm_clip_rect_t *)REGION_RECTS(pClipList);
+
+ if (!*numClipRects && pDRIPriv->fullscreen) {
+ /* use fake full-screen clip rect */
diff --git a/x11-base/xorg-server/files/xorg-x11-server-1.1.0-tfp-damage.patch b/x11-base/xorg-server/files/xorg-x11-server-1.1.0-tfp-damage.patch
new file mode 100644
index 0000000..e5c5396
--- /dev/null
+++ b/x11-base/xorg-server/files/xorg-x11-server-1.1.0-tfp-damage.patch
@@ -0,0 +1,170 @@
+--- ./GL/glx/glxdrawable.h.tfp-damage 2006-03-11 19:11:33.000000000 -0500
++++ ./GL/glx/glxdrawable.h 2006-06-19 20:12:48.000000000 -0400
+@@ -41,6 +41,8 @@
+ **
+ */
+
++#include <damage.h>
++
+ typedef struct {
+
+ DrawablePtr pDraw;
+@@ -49,7 +51,7 @@
+ ScreenPtr pScreen;
+ Bool idExists;
+ int refcnt;
+-
++ DamagePtr pDamage;
+ } __GLXpixmap;
+
+ struct __GLXdrawable {
+--- ./GL/glx/glxcmds.c.tfp-damage 2006-05-09 13:44:26.000000000 -0400
++++ ./GL/glx/glxcmds.c 2006-06-19 20:12:48.000000000 -0400
+@@ -1271,6 +1271,7 @@
+ pGlxPixmap->pGlxScreen = pGlxScreen;
+ pGlxPixmap->pScreen = pScreen;
+ pGlxPixmap->idExists = True;
++ pGlxPixmap->pDamage = NULL;
+ pGlxPixmap->refcnt = 0;
+
+ pGlxPixmap->modes = modes;
+--- ./GL/glx/glxdri.c.tfp-damage 2006-04-02 21:25:21.000000000 -0400
++++ ./GL/glx/glxdri.c 2006-06-20 20:09:20.000000000 -0400
+@@ -326,7 +326,6 @@
+ * - No fbconfig handling for TEXTURE_TARGET
+ * - No fbconfig exposure of Y inversion state
+ * - No GenerateMipmapEXT support (due to no FBO support)
+- * - No damage tracking between binds
+ * - No support for anything but 16bpp and 32bpp-sparse pixmaps
+ */
+
+@@ -335,38 +334,92 @@
+ int buffer,
+ __GLXpixmap *glxPixmap)
+ {
++ RegionPtr pRegion;
+ PixmapPtr pixmap;
+ int bpp;
+- Bool npot;
++ GLenum target, format, type;
+
+ pixmap = (PixmapPtr) glxPixmap->pDraw;
+- bpp = pixmap->drawable.depth >= 24 ? 4 : 2; /* XXX 24bpp packed, 8, etc */
+-
+- CALL_PixelStorei( GET_DISPATCH(), (GL_UNPACK_ROW_LENGTH,
+- pixmap->devKind / bpp) );
+- CALL_PixelStorei( GET_DISPATCH(), (GL_UNPACK_SKIP_ROWS,
+- pixmap->drawable.y) );
+- CALL_PixelStorei( GET_DISPATCH(), (GL_UNPACK_SKIP_PIXELS,
+- pixmap->drawable.x) );
++ if (!glxPixmap->pDamage) {
++ glxPixmap->pDamage = DamageCreate(NULL, NULL, DamageReportNone,
++ TRUE, glxPixmap->pScreen, NULL);
++ if (!glxPixmap->pDamage)
++ return BadAlloc;
++
++ DamageRegister ((DrawablePtr) pixmap, glxPixmap->pDamage);
++ pRegion = NULL;
++ } else {
++ pRegion = DamageRegion(glxPixmap->pDamage);
++ if (REGION_NIL(pRegion))
++ return Success;
++ }
++
++ /* XXX 24bpp packed, 8, etc */
++ if (pixmap->drawable.depth >= 24) {
++ bpp = 4;
++ format = GL_BGRA;
++ type = GL_UNSIGNED_BYTE;
++ } else {
++ bpp = 2;
++ format = GL_RGB;
++ type = GL_UNSIGNED_SHORT_5_6_5;
++ }
+
+ if (pixmap->drawable.depth == 24)
+ glxFillAlphaChannel(pixmap);
+
+- npot = !(glxCountBits(pixmap->drawable.width) == 1 &&
+- glxCountBits(pixmap->drawable.height) == 1) /* ||
+- strstr(CALL_GetString(GL_EXTENSIONS,
+- "GL_ARB_texture_non_power_of_two")) */ ;
+-
+- CALL_TexImage2D( GET_DISPATCH(),
+- ( npot ? GL_TEXTURE_RECTANGLE_ARB : GL_TEXTURE_2D,
+- 0,
+- bpp == 4 ? 4 : 3,
+- pixmap->drawable.width,
+- pixmap->drawable.height,
+- 0,
+- bpp == 4 ? GL_BGRA : GL_RGB,
+- bpp == 4 ? GL_UNSIGNED_BYTE : GL_UNSIGNED_SHORT_5_6_5,
+- pixmap->devPrivate.ptr ) );
++ if (!(glxCountBits(pixmap->drawable.width) == 1 &&
++ glxCountBits(pixmap->drawable.height) == 1)
++ /* || strstr(CALL_GetString(GL_EXTENSIONS,
++ "GL_ARB_texture_non_power_of_two")) */)
++ target = GL_TEXTURE_RECTANGLE_ARB;
++ else
++ target = GL_TEXTURE_2D;
++
++ CALL_PixelStorei( GET_DISPATCH(), (GL_UNPACK_ROW_LENGTH,
++ pixmap->devKind / bpp) );
++ if (pRegion == NULL)
++ {
++ CALL_PixelStorei( GET_DISPATCH(), (GL_UNPACK_SKIP_PIXELS,
++ pixmap->drawable.x) );
++ CALL_PixelStorei( GET_DISPATCH(), (GL_UNPACK_SKIP_ROWS,
++ pixmap->drawable.y) );
++
++ CALL_TexImage2D( GET_DISPATCH(),
++ (target,
++ 0,
++ bpp == 4 ? 4 : 3,
++ pixmap->drawable.width,
++ pixmap->drawable.height,
++ 0,
++ format,
++ type,
++ pixmap->devPrivate.ptr) );
++ } else {
++ int i, numRects;
++ BoxPtr p;
++
++ numRects = REGION_NUM_RECTS (pRegion);
++ p = REGION_RECTS (pRegion);
++ for (i = 0; i < numRects; i++)
++ {
++ CALL_PixelStorei( GET_DISPATCH(), (GL_UNPACK_SKIP_PIXELS,
++ pixmap->drawable.x + p[i].x1) );
++ CALL_PixelStorei( GET_DISPATCH(), (GL_UNPACK_SKIP_ROWS,
++ pixmap->drawable.y + p[i].y1) );
++
++ CALL_TexSubImage2D( GET_DISPATCH(),
++ (target,
++ 0,
++ p[i].x1, p[i].y1,
++ p[i].x2 - p[i].x1, p[i].y2 - p[i].y1,
++ format,
++ type,
++ pixmap->devPrivate.ptr) );
++ }
++ }
++
++ DamageEmpty(glxPixmap->pDamage);
+
+ return Success;
+ }
+--- ./GL/glx/glxext.c.tfp-damage 2006-03-16 20:47:25.000000000 -0500
++++ ./GL/glx/glxext.c 2006-06-19 20:12:48.000000000 -0400
+@@ -141,6 +141,10 @@
+
+ pGlxPixmap->idExists = False;
+ if (!pGlxPixmap->refcnt) {
++ if (pGlxPixmap->pDamage) {
++ DamageUnregister (pGlxPixmap->pDraw, pGlxPixmap->pDamage);
++ DamageDestroy(pGlxPixmap->pDamage);
++ }
+ /*
+ ** The DestroyPixmap routine should decrement the refcount and free
+ ** only if it's zero.
diff --git a/x11-base/xorg-server/xorg-server-9999.ebuild b/x11-base/xorg-server/xorg-server-9999.ebuild
index ef7d82c..401395c 100644
--- a/x11-base/xorg-server/xorg-server-9999.ebuild
+++ b/x11-base/xorg-server/xorg-server-9999.ebuild
@@ -16,11 +16,11 @@ OPENGL_DIR="xorg-x11"
MESA_PN="Mesa"
MESA_P="${MESA_PN}"
-PATCHES="${FILESDIR}/${PN}-1.0.2-xprint-init.patch
- ${FILESDIR}/1.0.99.901-Xprint-xprintdir.patch
+PATCHES="${FILESDIR}/${P}-xprint-init.patch
+ ${FILESDIR}/${PV}-Xprint-xprintdir.patch
${FILESDIR}/${P}-Sbus.patch
- ${FILESDIR}/aiglx-gl-include-inferiors.patch
- ${FILESDIR}/aiglx-tfp-damage.patch"
+ ${FILESDIR}/${PN/xorg/xorg-x11}-1.1.0-gl-include-inferiors.patch
+ ${FILESDIR}/${PN/xorg/xorg-x11}-1.1.0-tfp-damage.patch"
DESCRIPTION="X.Org X servers"
# It's suid and has lazy bindings, so FEATURES="stricter" doesn't work
@@ -568,6 +568,7 @@ src_unpack() {
fi
fi
+ x-modular_patch_source
x-modular_reconf_source
}