[platforms/drm] Restore previous mode if an atomic test fails
ClosedPublic

Authored by graesslin on Nov 1 2017, 6:23 PM.

Details

Summary

When KWin successfully presents a new mode, it stores the current state
as the last working mode. If a new modeset is requested and the atomic
test fails, all is undone and reverted to this last knowing mode.

Currently included are:

  • the mode
  • global position
  • transformation

This is only done on a modeset not when going to DPMS.

Test Plan

Selected the not working vertical rotation and nothing bad
happened.

Diff Detail

Repository
R108 KWin
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
graesslin created this revision.Nov 1 2017, 6:23 PM
Restricted Application added a project: KWin. · View Herald TranscriptNov 1 2017, 6:23 PM
Restricted Application added subscribers: kwin, plasma-devel. · View Herald Transcript
ngraham added a subscriber: ngraham.Nov 1 2017, 6:48 PM
davidedmundson added inline comments.
plugins/platforms/drm/drm_output.cpp
916

we need to communicate this reset back to waylandOutput/waylandOutputDevice

graesslin added inline comments.Nov 2 2017, 6:42 PM
plugins/platforms/drm/drm_output.cpp
916

Yes and for that there is a TODO a few lines below. But it doesn't make any sense to implement it before D8578 is merged.

davidedmundson accepted this revision.Nov 3 2017, 10:02 AM
This revision is now accepted and ready to land.Nov 3 2017, 10:02 AM
This revision was automatically updated to reflect the committed changes.