Skip to content

Per screen rendering cleanups in Compositor

Vlad Zahorodnii requested to merge work/compositor-per-screen-rendering into master

In order to unlock per screen rendering and maintain compositing timing per individual output, we need the Compositor to be able to decide which screens need to be repainted during a compositing cycle. At the moment, Compositor calls virtual method Scene::paint(), which is implemented by OpenGL, QPainter and Xrender scene, to paint all outputs. With this change, the Compositor will be able to render an individual screen by providing its id to Scene::paint().

Besides moving the per screen rendering logic to the Compositor class, this merge request cleans up some code in OpenGLBackend and QPainterBackend, e.g. make them both use consistent naming for hooks to indicate the start and the end of a compositing cycle on a specific output, etc.

cc #22 (closed)

Merge request reports