summaryrefslogtreecommitdiff
path: root/testing/xf86-video-intel
diff options
context:
space:
mode:
authorParabola <dev@list.parabolagnulinux.org>2012-05-04 20:00:41 +0000
committerParabola <dev@list.parabolagnulinux.org>2012-05-04 20:00:41 +0000
commitb2c353d874b85e06f355a9419852e2616613c7d0 (patch)
treef0773e0a930d308198ef5036d4f74e7f53015e6e /testing/xf86-video-intel
parent0a24fb835cac4007388213ad0afb15257b035b14 (diff)
Fri May 4 20:00:31 UTC 2012
Diffstat (limited to 'testing/xf86-video-intel')
-rw-r--r--testing/xf86-video-intel/PKGBUILD34
-rw-r--r--testing/xf86-video-intel/Remove_broken_render_glyphs-to-dst.diff387
2 files changed, 0 insertions, 421 deletions
diff --git a/testing/xf86-video-intel/PKGBUILD b/testing/xf86-video-intel/PKGBUILD
deleted file mode 100644
index 02bea04fd..000000000
--- a/testing/xf86-video-intel/PKGBUILD
+++ /dev/null
@@ -1,34 +0,0 @@
-# $Id: PKGBUILD 156125 2012-04-14 09:15:47Z andyrtr $
-# Maintainer: Jan de Groot <jgc@archlinux.org>
-
-pkgname=xf86-video-intel
-pkgver=2.18.0
-pkgrel=2
-pkgdesc="X.org Intel i810/i830/i915/945G/G965+ video drivers"
-arch=(i686 x86_64)
-url="http://xorg.freedesktop.org/"
-license=('custom')
-depends=('intel-dri' 'libxvmc' 'libpciaccess' 'libdrm' 'xcb-util>=0.3.8' 'libxfixes' 'udev')
-makedepends=('xorg-server-devel>=1.11.99.903' 'libx11' 'libdrm' 'xf86driproto' 'glproto' 'mesa' 'libxvmc' 'libxrender')
-conflicts=('xorg-server<1.11.99.903' 'xf86-video-i810' 'xf86-video-intel-legacy')
-options=('!libtool')
-groups=('xorg-drivers' 'xorg')
-source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
- Remove_broken_render_glyphs-to-dst.diff)
-sha1sums=('77fae98e73414140bf214dca5da32bcf079c4463'
- '80e02d9b9ebc5119ba8f03675b9ed0327a62f836')
-
-build() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- # fix a rendering bug with recent cairo 1.12
- patch -Np1 -i ${srcdir}/Remove_broken_render_glyphs-to-dst.diff
- ./configure --prefix=/usr --enable-dri
- make
-}
-
-package() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- make DESTDIR="${pkgdir}" install
- install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
- install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
-}
diff --git a/testing/xf86-video-intel/Remove_broken_render_glyphs-to-dst.diff b/testing/xf86-video-intel/Remove_broken_render_glyphs-to-dst.diff
deleted file mode 100644
index fe462d47d..000000000
--- a/testing/xf86-video-intel/Remove_broken_render_glyphs-to-dst.diff
+++ /dev/null
@@ -1,387 +0,0 @@
-From fde8a010b3d9406c2f65ee99978360a6ca54e006 Mon Sep 17 00:00:00 2001
-From: Chris Wilson <chris@chris-wilson.co.uk>
-Date: Fri, 30 Mar 2012 11:47:21 +0000
-Subject: uxa: Remove broken render glyphs-to-dst
-
-Reported-by: Vincent Untz <vuntz@gnome.org>
-Reported-by: Robert Bradford <robert.bradford@intel.com>
-Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=48045
-Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
----
-diff --git a/uxa/uxa-glyphs.c b/uxa/uxa-glyphs.c
-index 6172f2f..b754f4e 100644
---- a/uxa/uxa-glyphs.c
-+++ b/uxa/uxa-glyphs.c
-@@ -663,190 +663,6 @@ uxa_glyph_cache(ScreenPtr screen, GlyphPtr glyph, int *out_x, int *out_y)
- return cache->picture;
- }
-
--static int
--uxa_glyphs_to_dst(CARD8 op,
-- PicturePtr pSrc,
-- PicturePtr pDst,
-- INT16 src_x, INT16 src_y,
-- INT16 xDst, INT16 yDst,
-- int nlist, GlyphListPtr list, GlyphPtr * glyphs,
-- BoxPtr extents)
--{
-- ScreenPtr screen = pDst->pDrawable->pScreen;
-- uxa_screen_t *uxa_screen = uxa_get_screen(screen);
-- PixmapPtr src_pixmap, dst_pixmap;
-- PicturePtr localSrc, glyph_atlas;
-- int x, y, n;
-- BoxRec box;
--
-- if (uxa_screen->info->check_composite_texture &&
-- uxa_screen->info->check_composite_texture(screen, pSrc)) {
-- if (pSrc->pDrawable) {
-- int src_off_x, src_off_y;
--
-- src_pixmap = uxa_get_offscreen_pixmap(pSrc->pDrawable, &src_off_x, &src_off_y);
-- if (src_pixmap == NULL)
-- return -1;
--
-- src_x += pSrc->pDrawable->x + src_off_x;
-- src_y += pSrc->pDrawable->y + src_off_y;
-- } else {
-- src_pixmap = NULL;
-- }
-- localSrc = pSrc;
-- } else {
-- int width, height;
--
-- if (extents == NULL) {
-- uxa_glyph_extents(nlist, list, glyphs, &box);
-- extents = &box;
-- }
--
-- width = extents->x2 - extents->x1;
-- height = extents->y2 - extents->y1;
-- if (width == 0 || height == 0)
-- return 0;
--
-- if (pSrc->pDrawable) {
-- int src_off_x, src_off_y;
--
-- src_off_x = extents->x1 - xDst;
-- src_off_y = extents->y1 - yDst;
-- localSrc = uxa_acquire_drawable(screen, pSrc,
-- src_x + src_off_x, src_y + src_off_y,
-- width, height,
-- &src_x, &src_y);
-- if (uxa_screen->info->check_composite_texture &&
-- !uxa_screen->info->check_composite_texture(screen, localSrc)) {
-- if (localSrc != pSrc)
-- FreePicture(localSrc, 0);
-- return -1;
-- }
--
-- src_pixmap = uxa_get_offscreen_pixmap(localSrc->pDrawable, &src_off_x, &src_off_y);
-- if (src_pixmap == NULL) {
-- if (localSrc != pSrc)
-- FreePicture(localSrc, 0);
-- return -1;
-- }
--
-- src_x += localSrc->pDrawable->x + src_off_x;
-- src_y += localSrc->pDrawable->y + src_off_y;
-- } else {
-- localSrc = uxa_acquire_pattern(screen, pSrc,
-- PICT_a8r8g8b8, x, y, width, height);
-- if (!localSrc)
-- return 1;
--
-- src_pixmap = uxa_get_drawable_pixmap(localSrc->pDrawable);
-- if (src_pixmap == NULL) {
-- FreePicture(localSrc, 0);
-- return -1;
-- }
--
-- src_x = src_y = 0;
-- }
-- }
--
-- dst_pixmap = uxa_get_offscreen_pixmap(pDst->pDrawable, &x, &y);
-- x += xDst + pDst->pDrawable->x - list->xOff;
-- y += yDst + pDst->pDrawable->y - list->yOff;
--
-- glyph_atlas = NULL;
-- while (nlist--) {
-- x += list->xOff;
-- y += list->yOff;
-- n = list->len;
-- while (n--) {
-- GlyphPtr glyph = *glyphs++;
-- PicturePtr this_atlas;
-- int mask_x, mask_y, nrect;
-- struct uxa_glyph *priv;
-- BoxPtr rects;
--
-- if (glyph->info.width == 0 || glyph->info.height == 0)
-- goto next_glyph;
--
-- priv = uxa_glyph_get_private(glyph);
-- if (priv != NULL) {
-- mask_x = priv->x;
-- mask_y = priv->y;
-- this_atlas = priv->cache->picture;
-- } else {
-- if (glyph_atlas) {
-- uxa_screen->info->done_composite(dst_pixmap);
-- glyph_atlas = NULL;
-- }
-- this_atlas = uxa_glyph_cache(screen, glyph, &mask_x, &mask_y);
-- if (this_atlas == NULL) {
-- /* no cache for this glyph */
-- this_atlas = GlyphPicture(glyph)[screen->myNum];
-- mask_x = mask_y = 0;
-- }
-- }
--
-- if (this_atlas != glyph_atlas) {
-- PixmapPtr mask_pixmap;
--
-- if (glyph_atlas)
-- uxa_screen->info->done_composite(dst_pixmap);
--
-- mask_pixmap =
-- uxa_get_drawable_pixmap(this_atlas->pDrawable);
-- if (!uxa_pixmap_is_offscreen(mask_pixmap) ||
-- !uxa_screen->info->prepare_composite(op,
-- localSrc, this_atlas, pDst,
-- src_pixmap, mask_pixmap, dst_pixmap))
-- return -1;
--
-- glyph_atlas = this_atlas;
-- }
--
-- rects = REGION_RECTS(pDst->pCompositeClip);
-- nrect = REGION_NUM_RECTS(pDst->pCompositeClip);
-- while (nrect--) {
-- int x1 = x - glyph->info.x, dx = 0;
-- int y1 = y - glyph->info.y, dy = 0;
-- int x2 = x1 + glyph->info.width;
-- int y2 = y1 + glyph->info.height;
--
-- if (rects->y1 >= y2)
-- break;
--
-- if (x1 < rects->x1)
-- dx = rects->x1 - x1, x1 = rects->x1;
-- if (x2 > rects->x2)
-- x2 = rects->x2;
-- if (y1 < rects->y1)
-- dy = rects->y1 - y1, y1 = rects->y1;
-- if (y2 > rects->y2)
-- y2 = rects->y2;
--
-- if (x1 < x2 && y1 < y2) {
-- uxa_screen->info->composite(dst_pixmap,
-- x1 + src_x, y1 + src_y,
-- dx + mask_x, dy + mask_y,
-- x1, y1,
-- x2 - x1, y2 - y1);
-- }
-- rects++;
-- }
--
--next_glyph:
-- x += glyph->info.xOff;
-- y += glyph->info.yOff;
-- }
-- list++;
-- }
-- if (glyph_atlas)
-- uxa_screen->info->done_composite(dst_pixmap);
--
-- if (localSrc != pSrc)
-- FreePicture(localSrc, 0);
--
-- return 0;
--}
--
- static void
- uxa_clear_pixmap(ScreenPtr screen,
- uxa_screen_t *uxa_screen,
-@@ -894,37 +710,30 @@ uxa_glyphs_via_mask(CARD8 op,
- PicturePtr pDst,
- PictFormatPtr maskFormat,
- INT16 xSrc, INT16 ySrc,
-- INT16 xDst, INT16 yDst,
-- int nlist, GlyphListPtr list, GlyphPtr * glyphs,
-- BoxPtr extents)
-+ int nlist, GlyphListPtr list, GlyphPtr * glyphs)
- {
- ScreenPtr screen = pDst->pDrawable->pScreen;
- uxa_screen_t *uxa_screen = uxa_get_screen(screen);
- CARD32 component_alpha;
- PixmapPtr pixmap;
- PicturePtr glyph_atlas, mask;
-+ int xDst = list->xOff, yDst = list->yOff;
- int x, y, width, height;
- int dst_off_x, dst_off_y;
- int n, error;
- BoxRec box;
-
-- if (!extents) {
-- uxa_glyph_extents(nlist, list, glyphs, &box);
-+ uxa_glyph_extents(nlist, list, glyphs, &box);
-+ if (box.x2 <= box.x1 || box.y2 <= box.y1)
-+ return 0;
-
-- if (box.x2 <= box.x1 || box.y2 <= box.y1)
-- return 0;
-+ dst_off_x = box.x1;
-+ dst_off_y = box.y1;
-
-- extents = &box;
-- dst_off_x = box.x1;
-- dst_off_y = box.y1;
-- } else {
-- dst_off_x = dst_off_y = 0;
-- }
--
-- width = extents->x2 - extents->x1;
-- height = extents->y2 - extents->y1;
-- x = -extents->x1;
-- y = -extents->y1;
-+ width = box.x2 - box.x1;
-+ height = box.y2 - box.y1;
-+ x = -box.x1;
-+ y = -box.y1;
-
- if (maskFormat->depth == 1) {
- PictFormatPtr a8Format =
-@@ -1061,11 +870,6 @@ uxa_glyphs(CARD8 op,
- {
- ScreenPtr screen = pDst->pDrawable->pScreen;
- uxa_screen_t *uxa_screen = uxa_get_screen(screen);
-- int xDst = list->xOff, yDst = list->yOff;
-- BoxRec extents = { 0, 0, 0, 0 };
-- Bool have_extents = FALSE;
-- int width, height, ret;
-- PicturePtr localDst = pDst;
-
- if (uxa_screen->info->flags & UXA_USE_GLAMOR) {
- int ok;
-@@ -1128,112 +932,12 @@ fallback:
- }
- }
-
-- if (!maskFormat &&
-- uxa_screen->info->check_composite_target &&
-- !uxa_screen->info->check_composite_target(uxa_get_drawable_pixmap(pDst->pDrawable))) {
-- int depth = pDst->pDrawable->depth;
-- PixmapPtr pixmap;
-- int x, y, error;
-- GCPtr gc;
--
-- pixmap = uxa_get_drawable_pixmap(pDst->pDrawable);
-- if (uxa_screen->info->check_copy &&
-- !uxa_screen->info->check_copy(pixmap, pixmap, GXcopy, FB_ALLONES))
-- goto fallback;
--
-- uxa_glyph_extents(nlist, list, glyphs, &extents);
--
-- /* clip against dst bounds */
-- if (extents.x1 < 0)
-- extents.x1 = 0;
-- if (extents.y1 < 0)
-- extents.y1 = 0;
-- if (extents.x2 > pDst->pDrawable->width)
-- extents.x2 = pDst->pDrawable->width;
-- if (extents.y2 > pDst->pDrawable->height)
-- extents.y2 = pDst->pDrawable->height;
--
-- if (extents.x2 <= extents.x1 || extents.y2 <= extents.y1)
-- return;
-- width = extents.x2 - extents.x1;
-- height = extents.y2 - extents.y1;
-- x = -extents.x1;
-- y = -extents.y1;
-- have_extents = TRUE;
--
-- xDst += x;
-- yDst += y;
--
-- pixmap = screen->CreatePixmap(screen,
-- width, height, depth,
-- CREATE_PIXMAP_USAGE_SCRATCH);
-- if (!pixmap)
-- return;
--
-- if (!uxa_pixmap_is_offscreen(pixmap)) {
-- screen->DestroyPixmap(pixmap);
-- goto fallback;
-- }
--
-- gc = GetScratchGC(depth, screen);
-- if (!gc) {
-- screen->DestroyPixmap(pixmap);
-- return;
-- }
--
-- ValidateGC(&pixmap->drawable, gc);
-- gc->ops->CopyArea(pDst->pDrawable, &pixmap->drawable, gc,
-- extents.x1, extents.y1,
-- width, height,
-- 0, 0);
-- FreeScratchGC(gc);
--
-- localDst = CreatePicture(0, &pixmap->drawable,
-- PictureMatchFormat(screen, depth, pDst->format),
-- 0, 0, serverClient, &error);
-- screen->DestroyPixmap(pixmap);
--
-- if (!localDst)
-- return;
--
-- ValidatePicture(localDst);
-- }
--
-- if (maskFormat) {
-- ret = uxa_glyphs_via_mask(op,
-- pSrc, localDst, maskFormat,
-- xSrc, ySrc,
-- xDst, yDst,
-- nlist, list, glyphs,
-- have_extents ? &extents : NULL);
-- } else {
-- ret = uxa_glyphs_to_dst(op,
-- pSrc, localDst,
-- xSrc, ySrc,
-- xDst, yDst,
-- nlist, list, glyphs,
-- have_extents ? &extents : NULL);
-- }
-- if (ret) {
-- if (localDst != pDst)
-- FreePicture(localDst, 0);
--
-+ if (!maskFormat)
- goto fallback;
-- }
-
-- if (localDst != pDst) {
-- GCPtr gc;
--
-- gc = GetScratchGC(pDst->pDrawable->depth, screen);
-- if (gc) {
-- ValidateGC(pDst->pDrawable, gc);
-- gc->ops->CopyArea(localDst->pDrawable, pDst->pDrawable, gc,
-- 0, 0,
-- width, height,
-- extents.x1, extents.y1);
-- FreeScratchGC(gc);
-- }
--
-- FreePicture(localDst, 0);
-- }
-+ if (uxa_glyphs_via_mask(op,
-+ pSrc, pDst, maskFormat,
-+ xSrc, ySrc,
-+ nlist, list, glyphs))
-+ goto fallback;
- }
---
-cgit v0.9.0.2-2-gbebe