<table><tr><td style="">fredrik created this revision.<br />fredrik added a reviewer: KWin.<br />fredrik added a project: KWin.<br />Herald added a subscriber: kwin.<br />fredrik requested review of this revision.
</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/D22342">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>This series should hopefully fix the lockups that some users have been experiencing with swap events enabled.</p>
<p>commit 076c6a8de05219800dd922827a223b345cdbc193 (HEAD -> swap-event-fixes)<br />
Author: Fredrik Höglund <fredrik@kde.org><br />
Date: Sun May 12 14:21:03 2019 +0200</p>
<div class="remarkup-code-block" style="margin: 12px 0;" data-code-lang="text" data-sigil="remarkup-code-block"><pre class="remarkup-code" style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; padding: 12px; margin: 0; background: rgba(71, 87, 120, 0.08);">Remove the assert() in Compositor::bufferSwapComplete()</pre></div>
<p>commit d9765fdb51be90718190c6495de5c8a9aa400fc3<br />
Author: Fredrik Höglund <fredrik@kde.org><br />
Date: Sun May 12 14:19:12 2019 +0200</p>
<div class="remarkup-code-block" style="margin: 12px 0;" data-code-lang="text" data-sigil="remarkup-code-block"><pre class="remarkup-code" style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; padding: 12px; margin: 0; background: rgba(71, 87, 120, 0.08);">Set m_bufferSwapPending to false in Compositor::finish()
Othewise we can end up waiting forever if compositing was suspended
while a swap event was pending.</pre></div>
<p>commit da1b607722e6fff5290b1e6d4c73447b8ac5444e<br />
Author: Fredrik Höglund <fredrik@kde.org><br />
Date: Sun May 12 14:17:36 2019 +0200</p>
<div class="remarkup-code-block" style="margin: 12px 0;" data-code-lang="text" data-sigil="remarkup-code-block"><pre class="remarkup-code" style="font: 11px/15px "Menlo", "Consolas", "Monaco", monospace; padding: 12px; margin: 0; background: rgba(71, 87, 120, 0.08);">Don't call performCompositing() directly from bufferSwapComplete()
Start the composite timer instead, so we don't call performCompositing()
from the event handler.</pre></div></div></div><br /><div><strong>TEST PLAN</strong><div><p>I've been running kwin with these patches and swap events enabled for a couple of months without experiencing any lockups.</p>
<p>Keep in mind that swap events must be enabled by setting KWIN_USE_INTEL_SWAP_EVENT to 1 when testing these changes.</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R108 KWin</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D22342">https://phabricator.kde.org/D22342</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>composite.cpp</div></div></div><br /><div><strong>To: </strong>fredrik, KWin<br /><strong>Cc: </strong>kwin, LeGast00n, sbergeron, jraleigh, fbampaloukas, GB_2, mkulinski, ragreen, jackyalcine, Pitel, iodelay, crozbo, bwowk, ZrenBot, ngraham, alexeymin, himcesjf, lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, sebas, apol, mart<br /></div>