diff options
author | Mihai Moldovan <ionic@ionic.de> | 2017-08-03 10:39:50 +0200 |
---|---|---|
committer | Mihai Moldovan <ionic@ionic.de> | 2017-08-03 10:39:50 +0200 |
commit | 1077270f8ac6ffdfc0b5dd7693cfe0aad7169ad9 (patch) | |
tree | 81940082d1160b99047d3a47608875da221040d0 /debian/patches/1400_nx-X11_Render.c-Improve-situation-fo.full+lite.patch | |
parent | ab2885575e5a6ef9ac1260107a39c2829baf1758 (diff) | |
download | nx-libs-1077270f8ac6ffdfc0b5dd7693cfe0aad7169ad9.tar.gz nx-libs-1077270f8ac6ffdfc0b5dd7693cfe0aad7169ad9.tar.bz2 nx-libs-1077270f8ac6ffdfc0b5dd7693cfe0aad7169ad9.zip |
nx-X11: Render.c: Improve situation for multiple trapezoid requests.
Backported from Arctica GH 3.6.x branch.
v2: backport to nx-libs 3.5.0.x (Mihai Moldovan)
Adds:
- debian/patches/1400_nx-X11_Render.c-Improve-situation-fo.full+lite.patch
Diffstat (limited to 'debian/patches/1400_nx-X11_Render.c-Improve-situation-fo.full+lite.patch')
-rw-r--r-- | debian/patches/1400_nx-X11_Render.c-Improve-situation-fo.full+lite.patch | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/debian/patches/1400_nx-X11_Render.c-Improve-situation-fo.full+lite.patch b/debian/patches/1400_nx-X11_Render.c-Improve-situation-fo.full+lite.patch new file mode 100644 index 000000000..ca875f3cf --- /dev/null +++ b/debian/patches/1400_nx-X11_Render.c-Improve-situation-fo.full+lite.patch @@ -0,0 +1,68 @@ +From da43f047a0d1f9e3a4850f3e8a15a67e81826dae Mon Sep 17 00:00:00 2001 +From: Oleksandr Shneyder <o.schneyder@phoca-gmbh.de> +Date: Mon, 31 Jul 2017 13:20:12 +0200 +Subject: [PATCH] Render.c: Improve situation for multiple trapezoid requests. + + This change improves the situation in nxagent for the following + issue: + + ``` + "XRenderCompositeTrapezoids builds RenderTrapezoids requests to composite the + specified list of trapezoids to dst. XRenderCompositeTrapezoids will split + the list of trapezoids to build requests no larger than the maximum request + size supported by the server. This can create rendering artifacts as the + precompositing done by RenderTrapezoids when a maskFormat is specified + cannot span multiple requests." + ``` + + For more information see: + https://lists.freedesktop.org/archives/xorg/2008-June/036124.html + + Fixes ArcticaProject/nx-libs#336. + + Backported from Arctica GH 3.6.x branch. + + v2: backport to nx-libs 3.5.0.x (Mihai Moldovan) +--- + nx-X11/programs/Xserver/hw/nxagent/Render.c | 15 +-------------- + 1 file changed, 1 insertion(+), 14 deletions(-) + +--- a/nx-X11/programs/Xserver/hw/nxagent/Render.c ++++ b/nx-X11/programs/Xserver/hw/nxagent/Render.c +@@ -84,12 +84,6 @@ FIXME: Most operations don't seem to pro + #undef SKIP_REALLY_ALL_LOUSY_RENDER_OPERATIONS + + /* +- * Do we split the big trapezoid requests? +- */ +- +-#define TRAPEZOIDS_PER_REQUEST 256 +- +-/* + * Margin added around the glyphs extent (in pixels). + */ + +@@ -1798,8 +1792,6 @@ FIXME: Is this useful or just a waste of + nxagentSynchronizeBox(pDst -> pDrawable, nxagentTrapezoidExtents, NEVER_BREAK); + } + +- while (remaining > 0) +- { + XRenderCompositeTrapezoids(nxagentDisplay, + op, + nxagentPicturePriv(pSrc) -> picture, +@@ -1807,13 +1799,8 @@ FIXME: Is this useful or just a waste of + pForm, + xSrc, + ySrc, +- (XTrapezoid *) current, +- (remaining > TRAPEZOIDS_PER_REQUEST ? +- TRAPEZOIDS_PER_REQUEST : remaining)); ++ (XTrapezoid *) current,remaining); + +- remaining -= TRAPEZOIDS_PER_REQUEST; +- current += TRAPEZOIDS_PER_REQUEST; +- } + + #endif + |