Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP3:GA
xorg-x11-server.4681
U_glamor-Disable-logic-ops-when-doing-compositi...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File U_glamor-Disable-logic-ops-when-doing-compositing-v4.patch of Package xorg-x11-server.4681
From 743b6f231e999d8b2909228412266dc13cc433c5 Mon Sep 17 00:00:00 2001 From: Keith Packard <keithp@keithp.com> Date: Fri, 13 May 2016 04:25:43 -0700 Subject: [PATCH xserver] glamor: Disable logic ops when doing compositing [v4] MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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.velikov@gmail.com> Signed-off-by: Keith Packard <keithp@keithp.com> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> --- glamor/glamor_program.c | 4 ++++ glamor/glamor_render.c | 3 +++ 2 files changed, 7 insertions(+) Index: xorg-server-1.18.3/glamor/glamor_program.c =================================================================== --- xorg-server-1.18.3.orig/glamor/glamor_program.c +++ xorg-server-1.18.3/glamor/glamor_program.c @@ -445,6 +445,7 @@ static struct blendinfo composite_op_inf 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_progra break; } + if (glamor_priv->gl_flavor != GLAMOR_GL_ES2) + glDisable(GL_COLOR_LOGIC_OP); + if (op == PictOpSrc) return; Index: xorg-server-1.18.3/glamor/glamor_render.c =================================================================== --- xorg-server-1.18.3.orig/glamor/glamor_render.c +++ xorg-server-1.18.3/glamor/glamor_render.c @@ -1084,6 +1084,9 @@ glamor_composite_set_shader_blend(glamor } } + 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); }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor