D27788: Implement EGL_KHR_partial_update and EGL_EXT_swap_buffers_with_damage
Vlad Zahorodnii
noreply at phabricator.kde.org
Fri Mar 13 12:18:58 GMT 2020
zzag added a comment.
Overall, looks pretty good to me, but I still have some minor nitpicks.
INLINE COMMENTS
> backend.cpp:119
>
> +void OpenGLBackend::aboutToStartPainting(const QRegion& damage)
> +{
Style: add whitespace before `&`
> backend.h:82
> + */
> + virtual void aboutToStartPainting(const QRegion & damage);
> +
Style: remove whitespace after `&`
> egl_gbm_backend.cpp:447
> + rects << rect.left();
> + rects << height - rect.bottom() - 1;
> + rects << rect.width();
I suggest to use (rect.y() + rect.height()) instead of rect.bottom() + 1 because QRect::bottom() deviates from the true bottom border. QRect::right() and QRect::bottom() are good when you need to snap the right or the bottom border of one rectangle to another, e.g.
rect.moveRight(anotherRect.right());
otherwise, it is better to stick with x() + width() and y() + height() to avoid off by one errors.
> egl_gbm_backend.cpp:468
> + output.output->geometry().height());
> + const bool correct = rects.isEmpty()
> + || eglSetDamageRegionKHR(eglDisplay(), output.eglSurface,
According to the spec, eglSetDamageRegionKHR() handles the case where n_rects is 0, so we can drop `rects.isEmpty()` check and thus simplify code a bit more.
REPOSITORY
R108 KWin
REVISION DETAIL
https://phabricator.kde.org/D27788
To: apol, #kwin, #plasma:_mobile
Cc: mwolff, zzag, davidedmundson, kwin, Orage, cacarry, LeGast00n, The-Feren-OS-Dev, cblack, jraleigh, zachus, fbampaloukas, GB_2, mkulinski, ragreen, jackyalcine, iodelay, crozbo, bwowk, ZrenBot, ngraham, alexeymin, himcesjf, lesliezhai, ali-mohamed, hardening, romangg, jensreuterberg, abetts, sebas, apol, ahiemstra, mart
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kwin/attachments/20200313/181fbec0/attachment-0001.html>
More information about the kwin
mailing list