diff options
author | Donnie Berkholz <spyderous@gentoo.org> | 2006-06-24 16:12:26 -0700 |
---|---|---|
committer | Donnie Berkholz <donnie@comet.(none)> | 2006-06-24 16:12:26 -0700 |
commit | 6ddc6b4dca52faabcea3d632e34fc5ab97a4264d (patch) | |
tree | 9795607e139598872090af1a90ac828ae5309f50 /x11-base | |
parent | Revert "git.eclass: Set GIT_DIR on updates, or else they don't work." (diff) | |
download | dberkholz-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/Manifest | 40 | ||||
-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.patch | 32 | ||||
-rw-r--r-- | x11-base/xorg-server/files/aiglx-tfp-damage.patch | 144 | ||||
-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.patch | 67 | ||||
-rw-r--r-- | x11-base/xorg-server/files/xorg-x11-server-1.1.0-tfp-damage.patch | 170 | ||||
-rw-r--r-- | x11-base/xorg-server/xorg-server-9999.ebuild | 9 |
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 } |