[prev in list] [next in list] [prev in thread] [next in thread]
List: kwin
Subject: D8369: Fix rendering issues of subsurfaces by using proper clipping
From: Martin_Flöser <noreply () phabricator ! kde ! org>
Date: 2017-10-19 19:11:57
Message-ID: differential-rev-PHID-DREV-qsysfhhotyerly5xwr4u-req () phabricator ! kde ! org
[Download RAW message or body]
graesslin created this revision.
graesslin added reviewers: KWin, Plasma.
Restricted Application added a project: KWin.
Restricted Application added subscribers: kwin, plasma-devel.
REVISION SUMMARY
Rendering subsurfaces in the OpenGL compositor has always resulted in
flickering when a subsurface gets repainted and there is a window on top
of it. Looking at the code this is rather obvious: the clipping of the
main window is ignored and the complete subsurface is rendered as is and
thus also rendering above windows where it should not render.
This change passes the clip region and whether hardware clipping is used
to the rendering of subsurfaces which in turn uses it for rendering the
texture.
BUG: 385924
FIXED-IN: 5.11.2
TEST PLAN
Opened systemsettings, went to decoration KCM, put a window
partially above and scrolled. Without change: strong flicker, with change:
no flicker.
REPOSITORY
R108 KWin
BRANCH
fix-clipping-subsurfaces-5.11
REVISION DETAIL
https://phabricator.kde.org/D8369
AFFECTED FILES
scene_opengl.cpp
To: graesslin, #kwin, #plasma
Cc: plasma-devel, kwin, bwowk, ZrenBot, progwolff, lesliezhai, ali-mohamed, \
hardening, jensreuterberg, abetts, sebas, apol, mart
[Attachment #3 (unknown)]
<table><tr><td style="">graesslin created this revision.<br />graesslin added \
reviewers: KWin, Plasma.<br />Restricted Application added a project: KWin.<br \
/>Restricted Application added subscribers: kwin, plasma-devel. </td><a \
style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; \
color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; \
background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; \
border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D8369" \
rel="noreferrer">View Revision</a></tr></table><br /><div><strong>REVISION \
SUMMARY</strong><div><p>Rendering subsurfaces in the OpenGL compositor has always \
resulted in<br /> flickering when a subsurface gets repainted and there is a window \
on top<br /> of it. Looking at the code this is rather obvious: the clipping of \
the<br /> main window is ignored and the complete subsurface is rendered as is and<br \
/> thus also rendering above windows where it should not render.</p>
<p>This change passes the clip region and whether hardware clipping is used<br />
to the rendering of subsurfaces which in turn uses it for rendering the<br />
texture.</p>
<p>BUG: 385924<br />
FIXED-IN: 5.11.2</p></div></div><br /><div><strong>TEST PLAN</strong><div><p>Opened \
systemsettings, went to decoration KCM, put a window<br /> partially above and \
scrolled. Without change: strong flicker, with change:<br /> no \
flicker.</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R108 \
KWin</div></div></div><br \
/><div><strong>BRANCH</strong><div><div>fix-clipping-subsurfaces-5.11</div></div></div><br \
/><div><strong>REVISION DETAIL</strong><div><a \
href="https://phabricator.kde.org/D8369" \
rel="noreferrer">https://phabricator.kde.org/D8369</a></div></div><br \
/><div><strong>AFFECTED FILES</strong><div><div>scene_opengl.cpp</div></div></div><br \
/><div><strong>To: </strong>graesslin, KWin, Plasma<br /><strong>Cc: \
</strong>plasma-devel, kwin, bwowk, ZrenBot, progwolff, lesliezhai, ali-mohamed, \
hardening, jensreuterberg, abetts, sebas, apol, mart<br /></div>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic