D26311: Handle output logical size changes
David Edmundson <[email protected]>
| Newsgroups | gmane.comp.kde.devel.kwin |
|---|---|
| Message-ID | <[email protected]> |
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