Lift output enablement into Platform
ClosedPublic

Authored by romangg on Aug 28 2019, 8:12 PM.

Details

Reviewers
None
Group Reviewers
KWin
Commits
R108:f7ff62e2e2e5: Lift output enablement into Platform
Summary

This lifts the enablement code for outputs from the DRM backend to Platform
allowing other Wayland backends in the future to use this interface as well.

To do that we also create some helper functions on Platform level and have to
spill some KWayland classes into AbstractOutput what motivates a further split
of Platform into a Wayland child class like for AbstractOutput.

Test Plan

Disabled and enabled an output in DRM session.

Diff Detail

Repository
R108 KWin
Branch
platformOutputEnablement
Lint
Lint OK
Unit
No Unit Test Coverage
Build Status
Buildable 15781
Build 15799: arc lint + arc unit
romangg created this revision.Aug 28 2019, 8:12 PM
Restricted Application added a project: KWin. · View Herald TranscriptAug 28 2019, 8:12 PM
Restricted Application added a subscriber: kwin. · View Herald Transcript
romangg requested review of this revision.Aug 28 2019, 8:12 PM
romangg updated this revision to Diff 64897.Aug 28 2019, 9:46 PM
  • Revert connect change, platform is not yet ready then.
  • Testing again with KScreen disabling outputs works correctly in fact.
romangg edited the summary of this revision. (Show Details)Aug 28 2019, 9:48 PM
zzag added a subscriber: zzag.Aug 29 2019, 2:08 PM

How much code do we need to share between all platforms?

I don't like that AbstractOutput now contains wayland stuff. What's the different between AbstractOutput and AbstractWaylandOutput?

romangg updated this revision to Diff 64948.Aug 29 2019, 2:31 PM

Rebase on master.

In D23545#521942, @zzag wrote:

How much code do we need to share between all platforms?

Depends on what functionality we want to share between multiple platforms. For Wayland session platforms I assume all of it since we want to at least test it with the virtual backend.

I don't like that AbstractOutput now contains wayland stuff. What's the different between AbstractOutput and AbstractWaylandOutput?

For that we need a Wayland session child class of Platform as with AbstractOutput and AbstractWaylandOutput. One argument for this is that AbstractOutput is on the same level as Platform although Platform contains some Wayland bits.

This revision was not accepted when it landed; it landed in state Needs Review.Sep 5 2019, 3:23 PM
This revision was automatically updated to reflect the committed changes.