D26311: Handle output logical size changes
David Edmundson
noreply at phabricator.kde.org
Wed Jan 1 16:25:14 GMT 2020
davidedmundson requested changes to this revision.
davidedmundson added a comment.
This revision now requires changes to proceed.
Good start, the general approach is ok, but it needs a little tweak.
---
I don't like OutputDeviceInterface::setLogicalSize.
Currently we have a pixel size and a scale, which gives us the logical size.
By adding an explicitly setLogicalSize we have this 3 way binding loop that is very confusing.
Having an explicitly set logical size with a scale right now would break that glViewport, and it's semantically confusing as to what the compositor view size is.
----
I think all of this can be remedied if we change the output device method to be
OutputDevice::setVirtualMode(QSize)
Which acts as a clip rect for where we render the plane as you have here, then have geometry() can use that instead of pixelSize.
Then scale/positioning etc. will all just work intuitively without extra semantics, egl_gbm_backend.cpp wouldn't need changing.
REPOSITORY
R108 KWin
REVISION DETAIL
https://phabricator.kde.org/D26311
To: romangg, #kwin, davidedmundson
Cc: davidedmundson, kwin, LeGast00n, The-Feren-OS-Dev, sbergeron, 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/20200101/b18339fe/attachment.html>
More information about the kwin
mailing list