xorg-server: remove EXA patch, unneeded now.

This commit is contained in:
Juan RP 2012-05-17 17:18:26 +02:00
parent f4eb95a3e5
commit 11bf0ca19c
3 changed files with 5 additions and 118 deletions

View File

@ -1,118 +0,0 @@
See https://bugs.freedesktop.org/show_bug.cgi?id=47266
--- exa/exa_glyphs.c 2012-03-30 04:57:25.000000000 +0200
+++ exa/exa_glyphs.c.new 2012-04-15 11:48:51.683214230 +0200
@@ -686,6 +686,7 @@
PixmapPtr pMaskPixmap = 0;
PicturePtr pMask = NULL;
ScreenPtr pScreen = pDst->pDrawable->pScreen;
+ ExaScreenPriv(pScreen);
int width = 0, height = 0;
int x, y;
int first_xOff = list->xOff, first_yOff = list->yOff;
@@ -697,7 +698,6 @@
ExaGlyphBuffer buffer;
if (maskFormat) {
- ExaScreenPriv(pScreen);
GCPtr pGC;
xRectangle rect;
@@ -719,22 +719,20 @@
maskFormat->depth,
CREATE_PIXMAP_USAGE_SCRATCH);
if (!pMaskPixmap)
- return;
+ goto fallback;
component_alpha = NeedsComponent(maskFormat->format);
pMask = CreatePicture(0, &pMaskPixmap->drawable,
maskFormat, CPComponentAlpha, &component_alpha,
serverClient, &error);
- if (!pMask ||
- (!component_alpha && pExaScr->info->CheckComposite &&
- !(*pExaScr->info->CheckComposite) (PictOpAdd, pSrc, NULL, pMask)))
+ (*pScreen->DestroyPixmap) (pMaskPixmap);
+ if (!pMask)
+ goto fallback;
+
+ if (!component_alpha && pExaScr->info->CheckComposite &&
+ !(*pExaScr->info->CheckComposite) (PictOpAdd, pSrc, NULL, pMask))
{
PictFormatPtr argbFormat;
- (*pScreen->DestroyPixmap) (pMaskPixmap);
-
- if (!pMask)
- return;
-
/* The driver can't seem to composite to a8, let's try argb (but
* without component-alpha) */
FreePicture((pointer) pMask, (XID) 0);
@@ -748,15 +746,25 @@
maskFormat->depth,
CREATE_PIXMAP_USAGE_SCRATCH);
if (!pMaskPixmap)
- return;
+ goto fallback;
pMask = CreatePicture(0, &pMaskPixmap->drawable, maskFormat, 0, 0,
serverClient, &error);
- if (!pMask) {
- (*pScreen->DestroyPixmap) (pMaskPixmap);
- return;
- }
+ (*pScreen->DestroyPixmap) (pMaskPixmap);
+ if (!pMask)
+ goto fallback;
}
+
+ if (pExaScr->info->CheckComposite &&
+ (!(*pExaScr->info->CheckComposite) (PictOpAdd, pSrc, NULL, pMask) ||
+ (!(*pExaScr->info->CheckComposite) (op, pSrc, pMask, pDst) &&
+ (op != PictOpOver ||
+ !(*pExaScr->info->CheckComposite) (PictOpOutReverse, pSrc, pMask, pDst) ||
+ !(*pExaScr->info->CheckComposite) (PictOpOver, pSrc, pMask, pDst))))) {
+ FreePicture ((pointer) pMask, (XID) 0);
+ goto fallback;
+ }
+
pGC = GetScratchGC(pMaskPixmap->drawable.depth, pScreen);
ValidateGC(&pMaskPixmap->drawable, pGC);
rect.x = 0;
@@ -769,6 +777,13 @@
y = -extents.y1;
}
else {
+ if (pExaScr->info->CheckComposite &&
+ !(*pExaScr->info->CheckComposite) (op, pSrc, NULL, pDst) &&
+ (op != PictOpOver ||
+ !(*pExaScr->info->CheckComposite) (PictOpOutReverse, pSrc, NULL, pDst) ||
+ !(*pExaScr->info->CheckComposite) (PictOpOver, pSrc, NULL, pDst)))
+ goto fallback;
+
x = 0;
y = 0;
}
@@ -834,6 +849,10 @@
xSrc + x - first_xOff,
ySrc + y - first_yOff, 0, 0, x, y, width, height);
FreePicture((pointer) pMask, (XID) 0);
- (*pScreen->DestroyPixmap) (pMaskPixmap);
}
+
+ return;
+
+fallback:
+ ExaCheckGlyphs(op, pSrc, pDst, maskFormat, xSrc, ySrc, nlist, list, glyphs);
}
--- exa/exa_render.c 2012-03-30 04:57:25.000000000 +0200
+++ exa/exa_render.c.new 2012-04-15 11:50:35.272482047 +0200
@@ -878,7 +878,7 @@
Bool saveMaskRepeat = pMask ? pMask->repeat : 0;
RegionRec region;
- if (pExaScr->swappedOut)
+ if (pExaScr->fallback_counter || pExaScr->swappedOut)
goto fallback;
/* Remove repeat in source if useless */

View File

@ -1,6 +1,7 @@
# Template build file for 'xorg-server'.
pkgname=xorg-server
version=1.12.1.901
revision=1
distfiles="${XORG_SITE}/xserver/$pkgname-$version.tar.bz2"
build_style=gnu-configure
configure_args="--enable-ipv6 --enable-xcsecurity --enable-record

View File

@ -5,6 +5,8 @@ long_desc="${long_desc}
This package contains files for development, headers, static libs, etc."
revision=1
Add_dependency run libudev-devel
Add_dependency run dri2proto ">=2.1"
Add_dependency run glproto
@ -32,6 +34,8 @@ Add_dependency run libXt-devel
Add_dependency run libXpm-devel
Add_dependency run libdrm-devel
noarch=yes
do_install() {
vmove usr/include usr
vmove usr/lib/pkgconfig usr/lib