[platforms/fbdev] Port to AbstractOutput
ClosedPublic

Authored by romangg on Feb 21 2019, 12:49 PM.

Details

Summary

To homogenize our backends and as another step to remove the Screens class
use the AbstractOutput class in the framebuffer backend.

Test Plan

Manually on VT enforcing the framebuffer backend.

Diff Detail

Repository
R108 KWin
Branch
outputFramebuffer
Lint
Lint OK
Unit
No Unit Test Coverage
Build Status
Buildable 8623
Build 8641: arc lint + arc unit
romangg created this revision.Feb 21 2019, 12:49 PM
Restricted Application added a project: KWin. · View Herald TranscriptFeb 21 2019, 12:49 PM
Restricted Application added a subscriber: kwin. · View Herald Transcript
romangg requested review of this revision.Feb 21 2019, 12:49 PM

+1 to the concept

On the subject of porting, don't forget about D18465 please

plugins/platforms/fbdev/fb_backend.cpp
199

Best to guard this being called before init() or if init fails.

plugins/platforms/fbdev/fb_backend.h
43

const &

plugins/platforms/fbdev/scene_qpainter_fb_backend.cpp
87

I would move this after the

if (!Logind)

just so that we always get matching about toSwap bufferSwapComplete pairs

97

Why are these compositor lines needed now and not before?
Same for the tracking m_needsFullRepaint?

romangg marked 2 inline comments as done.Feb 22 2019, 12:17 PM
romangg added inline comments.
plugins/platforms/fbdev/fb_backend.cpp
199

I don't think it's necessary because the platform init should always be called before and if init fails, we're screwed anyways. But let's be sure and guard it.

plugins/platforms/fbdev/scene_qpainter_fb_backend.cpp
97

Good question. Without full repaints, there are artifacts. I assume the difference is in the SceneQPainter to find for that. The m_needsFullRepaint variable I copied from some other QPainter backend code. Same for the calls to aboutToSwapBuffers and bufferSwapComplete. But these seem to be unnecessary, so I'll remove them here.

romangg updated this revision to Diff 52290.Feb 22 2019, 12:18 PM
romangg marked 2 inline comments as done.
  • Review comments
davidedmundson accepted this revision.Mar 8 2019, 2:03 PM
This revision is now accepted and ready to land.Mar 8 2019, 2:03 PM
This revision was automatically updated to reflect the committed changes.