summaryrefslogtreecommitdiff
path: root/recipes-graphics/xorg-xserver/xserver-xorg-1.14.7/Revert_Use_new_pixman_glyph_cache_t_API_that_will_be_in_pixman0.28.0.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-graphics/xorg-xserver/xserver-xorg-1.14.7/Revert_Use_new_pixman_glyph_cache_t_API_that_will_be_in_pixman0.28.0.patch')
-rw-r--r--recipes-graphics/xorg-xserver/xserver-xorg-1.14.7/Revert_Use_new_pixman_glyph_cache_t_API_that_will_be_in_pixman0.28.0.patch268
1 files changed, 0 insertions, 268 deletions
diff --git a/recipes-graphics/xorg-xserver/xserver-xorg-1.14.7/Revert_Use_new_pixman_glyph_cache_t_API_that_will_be_in_pixman0.28.0.patch b/recipes-graphics/xorg-xserver/xserver-xorg-1.14.7/Revert_Use_new_pixman_glyph_cache_t_API_that_will_be_in_pixman0.28.0.patch
deleted file mode 100644
index 8c7c0ca..0000000
--- a/recipes-graphics/xorg-xserver/xserver-xorg-1.14.7/Revert_Use_new_pixman_glyph_cache_t_API_that_will_be_in_pixman0.28.0.patch
+++ /dev/null
@@ -1,268 +0,0 @@
-This patch has issues with the tegra xdriver:
-Some text, i.e the lxpanel clock, lxterminal terminal content is not visible.
-Tested with libpixman 0.29.2, 0.30.0
-Revert:
-From 9cbcb5bd6a5360a128d15b77a02d8d3351f74366 Mon Sep 17 00:00:00 2001
-From: Søren Sandmann Pedersen <ssp@redhat.com>
-Date: Wed, 30 May 2012 09:19:08 +0000
-Subject: Use new pixman_glyph_cache_t API that will be in pixman 0.28.0
-
-This new API allows glyphs to be cached in a data structure in pixman,
-and entire glyph strings to be composited in one go.
-
-Also bump pixman dependency to 0.27.2.
-
-Results from the cairo peformance test suite running against Xvfb with
-a screen size of 1680x1050@32bpp:
-
-Speedups
-========
- xlib firefox-talos-gfx 12416.63 -> 3603.93 3.45x speedup
-██▌
- xlib xfce4-terminal-a1 1727.57 -> 1048.85: 1.65x speedup
-▋
- xlib evolution 1370.49 -> 869.34: 1.58x speedup
-▋
- xlib gnome-terminal-vim 1832.83 -> 1251.94: 1.46x speedup
-▌
- xlib poppler 1519.70 -> 1204.05: 1.26x speedup
-▎
- xlib firefox-planet-gnome 6982.55 -> 5598.16: 1.25x speedup
-▎
- xlib ocitysmap 1142.77 -> 1071.53: 1.07x speedup
-▏
-
-No slowdowns were reported.
-
-Results of x11perf -aa10text:
-
-Before:
-
- 8000000 reps @ 0.0007 msec (1450000.0/sec)
- 8000000 reps @ 0.0007 msec (1460000.0/sec)
- 8000000 reps @ 0.0007 msec (1460000.0/sec)
- 8000000 reps @ 0.0007 msec (1470000.0/sec)
- 8000000 reps @ 0.0007 msec (1480000.0/sec)
- 40000000 trep @ 0.0007 msec (1460000.0/sec)
-
-After:
-
- 32000000 reps @ 0.0002 msec (4910000.0/sec)
- 32000000 reps @ 0.0002 msec (4830000.0/sec)
- 32000000 reps @ 0.0002 msec (4890000.0/sec)
- 32000000 reps @ 0.0002 msec (4830000.0/sec)
- 32000000 reps @ 0.0002 msec (4900000.0/sec)
- 160000000 trep @ 0.0002 msec (4870000.0/sec)
-
-Version 2: Destroy the glyph cache at server regen time
-
-Acked-by: Aaron Plattner <aplattner@nvidia.com>
-Reviewed-by: Keith Packard <keithp@keithp.com>
-Signed-off-by: Soren Sandmann <ssp@redhat.com>
-
-diff -Naur xorg-server-1.14.0.orig/configure.ac xorg-server-1.14.0/configure.ac
---- xorg-server-1.14.0.orig/configure.ac 2013-07-20 00:33:38.501103192 +0200
-+++ xorg-server-1.14.0/configure.ac 2013-07-21 10:31:15.420487572 +0200
-@@ -807,7 +807,7 @@
- LIBUDEV="libudev >= 143"
- LIBSELINUX="libselinux >= 2.0.86"
- LIBDBUS="dbus-1 >= 1.0"
--LIBPIXMAN="pixman-1 >= 0.27.2"
-+LIBPIXMAN="pixman-1 >= 0.21.8"
-
- dnl Pixman is always required, but we separate it out so we can link
- dnl specific modules against it
-diff -Naur xorg-server-1.14.0.orig/fb/fb.h xorg-server-1.14.0/fb/fb.h
---- xorg-server-1.14.0.orig/fb/fb.h 2012-10-27 03:04:34.000000000 +0200
-+++ xorg-server-1.14.0/fb/fb.h 2013-07-21 10:31:15.421487572 +0200
-@@ -1344,9 +1344,6 @@
- extern _X_EXPORT Bool
- fbPictureInit(ScreenPtr pScreen, PictFormatPtr formats, int nformats);
-
--extern _X_EXPORT void
--fbDestroyGlyphCache(void);
--
- /*
- * fbpixmap.c
- */
-diff -Naur xorg-server-1.14.0.orig/fb/fbpict.c xorg-server-1.14.0/fb/fbpict.c
---- xorg-server-1.14.0.orig/fb/fbpict.c 2012-10-27 03:04:34.000000000 +0200
-+++ xorg-server-1.14.0/fb/fbpict.c 2013-07-21 10:31:15.421487572 +0200
-@@ -70,156 +70,6 @@
- free_pixman_pict(pDst, dest);
- }
-
--static pixman_glyph_cache_t *glyphCache;
--
--void
--fbDestroyGlyphCache(void)
--{
-- if (glyphCache)
-- {
-- pixman_glyph_cache_destroy (glyphCache);
-- glyphCache = NULL;
-- }
--}
--
--static void
--fbUnrealizeGlyph(ScreenPtr pScreen,
-- GlyphPtr pGlyph)
--{
-- if (glyphCache)
-- pixman_glyph_cache_remove (glyphCache, pGlyph, NULL);
--}
--
--static void
--fbGlyphs(CARD8 op,
-- PicturePtr pSrc,
-- PicturePtr pDst,
-- PictFormatPtr maskFormat,
-- INT16 xSrc,
-- INT16 ySrc, int nlist,
-- GlyphListPtr list,
-- GlyphPtr *glyphs)
--{
--#define N_STACK_GLYPHS 512
-- ScreenPtr pScreen = pDst->pDrawable->pScreen;
-- pixman_glyph_t stack_glyphs[N_STACK_GLYPHS];
-- pixman_glyph_t *pglyphs = stack_glyphs;
-- pixman_image_t *srcImage, *dstImage;
-- int srcXoff, srcYoff, dstXoff, dstYoff;
-- GlyphPtr glyph;
-- int n_glyphs;
-- int x, y;
-- int i, n;
-- int xDst = list->xOff, yDst = list->yOff;
--
-- miCompositeSourceValidate(pSrc);
--
-- n_glyphs = 0;
-- for (i = 0; i < nlist; ++i)
-- n_glyphs += list[i].len;
--
-- if (!glyphCache)
-- glyphCache = pixman_glyph_cache_create();
--
-- pixman_glyph_cache_freeze (glyphCache);
--
-- if (n_glyphs > N_STACK_GLYPHS) {
-- if (!(pglyphs = malloc (n_glyphs * sizeof (pixman_glyph_t))))
-- goto out;
-- }
--
-- i = 0;
-- x = y = 0;
-- while (nlist--) {
-- x += list->xOff;
-- y += list->yOff;
-- n = list->len;
-- while (n--) {
-- const void *g;
--
-- glyph = *glyphs++;
--
-- if (!(g = pixman_glyph_cache_lookup (glyphCache, glyph, NULL))) {
-- pixman_image_t *glyphImage;
-- PicturePtr pPicture;
-- int xoff, yoff;
--
-- pPicture = GetGlyphPicture(glyph, pScreen);
-- if (!pPicture) {
-- n_glyphs--;
-- goto next;
-- }
--
-- if (!(glyphImage = image_from_pict(pPicture, FALSE, &xoff, &yoff)))
-- goto out;
--
-- g = pixman_glyph_cache_insert(glyphCache, glyph, NULL,
-- glyph->info.x,
-- glyph->info.y,
-- glyphImage);
--
-- free_pixman_pict(pPicture, glyphImage);
--
-- if (!g)
-- goto out;
-- }
--
-- pglyphs[i].x = x;
-- pglyphs[i].y = y;
-- pglyphs[i].glyph = g;
-- i++;
--
-- next:
-- x += glyph->info.xOff;
-- y += glyph->info.yOff;
-- }
-- list++;
-- }
--
-- if (!(srcImage = image_from_pict(pSrc, FALSE, &srcXoff, &srcYoff)))
-- goto out;
--
-- if (!(dstImage = image_from_pict(pDst, TRUE, &dstXoff, &dstYoff)))
-- goto out_free_src;
--
-- if (maskFormat) {
-- pixman_format_code_t format;
-- pixman_box32_t extents;
-- int x, y;
--
-- format = maskFormat->format | (maskFormat->depth << 24);
--
-- pixman_glyph_get_extents(glyphCache, n_glyphs, pglyphs, &extents);
--
-- x = extents.x1;
-- y = extents.y1;
--
-- pixman_composite_glyphs(op, srcImage, dstImage, format,
-- xSrc + srcXoff + xDst, ySrc + srcYoff + yDst,
-- x, y,
-- x + dstXoff, y + dstYoff,
-- extents.x2 - extents.x1,
-- extents.y2 - extents.y1,
-- glyphCache, n_glyphs, pglyphs);
-- }
-- else {
-- pixman_composite_glyphs_no_mask(op, srcImage, dstImage,
-- xSrc + srcXoff - xDst, ySrc + srcYoff - yDst,
-- dstXoff, dstYoff,
-- glyphCache, n_glyphs, pglyphs);
-- }
--
-- free_pixman_pict(pDst, dstImage);
--
--out_free_src:
-- free_pixman_pict(pSrc, srcImage);
--
--out:
-- pixman_glyph_cache_thaw(glyphCache);
-- if (pglyphs != stack_glyphs)
-- free(pglyphs);
--}
--
- static pixman_image_t *
- create_solid_fill_image(PicturePtr pict)
- {
-@@ -507,8 +357,7 @@
- return FALSE;
- ps = GetPictureScreen(pScreen);
- ps->Composite = fbComposite;
-- ps->Glyphs = fbGlyphs;
-- ps->UnrealizeGlyph = fbUnrealizeGlyph;
-+ ps->Glyphs = miGlyphs;
- ps->CompositeRects = miCompositeRects;
- ps->RasterizeTrapezoid = fbRasterizeTrapezoid;
- ps->Trapezoids = fbTrapezoids;
-diff -Naur xorg-server-1.14.0.orig/fb/fbscreen.c xorg-server-1.14.0/fb/fbscreen.c
---- xorg-server-1.14.0.orig/fb/fbscreen.c 2012-10-27 03:04:34.000000000 +0200
-+++ xorg-server-1.14.0/fb/fbscreen.c 2013-07-21 10:31:15.421487572 +0200
-@@ -32,7 +32,6 @@
- int d;
- DepthPtr depths = pScreen->allowedDepths;
-
-- fbDestroyGlyphCache();
- for (d = 0; d < pScreen->numDepths; d++)
- free(depths[d].vids);
- free(depths);