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