To homogenize our backends and as another step to remove the Screens class
use the AbstractOutput class in the framebuffer backend.
+1 to the concept
On the subject of porting, don't forget about D18465 please
Best to guard this being called before init() or if init fails.
I would move this after the
just so that we always get matching about toSwap bufferSwapComplete pairs
Why are these compositor lines needed now and not before?
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.
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.