debian/changelog | 7 + debian/patches/glamor-disable-logic-ops-when-doing-compositing.diff | 57 ++++++++++ debian/patches/series | 1 3 files changed, 65 insertions(+)
New commits: commit c503e43e3ef697223e4ebdc6df646ecba8b7bce3 Author: Timo Aaltonen <tjaal...@debian.org> Date: Tue Jul 5 02:08:12 2016 +0300 release to yakkety diff --git a/debian/changelog b/debian/changelog index 62ce0e6..38e28bf 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,9 +1,9 @@ -xorg-server (2:1.18.3-1ubuntu7) UNRELEASED; urgency=medium +xorg-server (2:1.18.3-1ubuntu7) yakkety; urgency=medium * glamor-disable-logic-ops-when-doing-compositing.diff: Fix libreoffice with glamor. (LP: #1575000) - -- Timo Aaltonen <tjaal...@debian.org> Tue, 05 Jul 2016 02:06:06 +0300 + -- Timo Aaltonen <tjaal...@debian.org> Tue, 05 Jul 2016 02:08:01 +0300 xorg-server (2:1.18.3-1ubuntu6) yakkety; urgency=medium commit 5eefb353f1a60ef1b25e224008bd185f2b5865b7 Author: Timo Aaltonen <tjaal...@debian.org> Date: Tue Jul 5 02:06:36 2016 +0300 glamor-disable-logic-ops-when-doing-compositing.diff: Fix libreoffice with glamor. diff --git a/debian/changelog b/debian/changelog index 50209bc..62ce0e6 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +xorg-server (2:1.18.3-1ubuntu7) UNRELEASED; urgency=medium + + * glamor-disable-logic-ops-when-doing-compositing.diff: Fix + libreoffice with glamor. (LP: #1575000) + + -- Timo Aaltonen <tjaal...@debian.org> Tue, 05 Jul 2016 02:06:06 +0300 + xorg-server (2:1.18.3-1ubuntu6) yakkety; urgency=medium * debian/patches/xmir.patch: diff --git a/debian/patches/glamor-disable-logic-ops-when-doing-compositing.diff b/debian/patches/glamor-disable-logic-ops-when-doing-compositing.diff new file mode 100644 index 0000000..9f1ecc0 --- /dev/null +++ b/debian/patches/glamor-disable-logic-ops-when-doing-compositing.diff @@ -0,0 +1,57 @@ +commit 743b6f231e999d8b2909228412266dc13cc433c5 +Author: Keith Packard <kei...@keithp.com> +Date: Fri May 13 04:25:43 2016 -0700 + + glamor: Disable logic ops when doing compositing [v4] + + If the logic op gets left enabled, it overrides the blending + operation, causing incorrect contents on the display. + + v2: Disable only on non-ES2, but disable even for PictOpSrc + + v3: Found another place this is needed in + glamor_composite_set_shader_blend + + v4: Remove change dependent on new glamor_set_composite_texture + API. This belongs in a different patch. + Found by Emil Velikov <emil.l.veli...@gmail.com> + + Signed-off-by: Keith Packard <kei...@keithp.com> + Reviewed-by: Michel Dänzer <michel.daen...@amd.com> + +diff --git a/glamor/glamor_program.c b/glamor/glamor_program.c +index 0a94de6..322d198 100644 +--- a/glamor/glamor_program.c ++++ b/glamor/glamor_program.c +@@ -445,6 +445,7 @@ static struct blendinfo composite_op_info[] = { + static void + glamor_set_blend(CARD8 op, glamor_program_alpha alpha, PicturePtr dst) + { ++ glamor_screen_private *glamor_priv = glamor_get_screen_private(dst->pDrawable->pScreen); + GLenum src_blend, dst_blend; + struct blendinfo *op_info; + +@@ -459,6 +460,9 @@ glamor_set_blend(CARD8 op, glamor_program_alpha alpha, PicturePtr dst) + break; + } + ++ if (glamor_priv->gl_flavor != GLAMOR_GL_ES2) ++ glDisable(GL_COLOR_LOGIC_OP); ++ + if (op == PictOpSrc) + return; + +diff --git a/glamor/glamor_render.c b/glamor/glamor_render.c +index 88781d9..aa3a566 100644 +--- a/glamor/glamor_render.c ++++ b/glamor/glamor_render.c +@@ -1091,6 +1091,9 @@ glamor_composite_set_shader_blend(glamor_screen_private *glamor_priv, + } + } + ++ if (glamor_priv->gl_flavor != GLAMOR_GL_ES2) ++ glDisable(GL_COLOR_LOGIC_OP); ++ + if (op_info->source_blend == GL_ONE && op_info->dest_blend == GL_ZERO) { + glDisable(GL_BLEND); + } diff --git a/debian/patches/series b/debian/patches/series index c204c32..72699de 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -52,3 +52,4 @@ drm_device_keep_trying.patch xi2-resize-touch.patch randr-adjust-masters-last-set-time.diff randr-do-not-check-the-screen-size.diff +glamor-disable-logic-ops-when-doing-compositing.diff