Skip to content

DRM Render Fixes

Roman Gilg requested to merge romangg/kwinft:render-fixes into master

In the wake of !84 (merged) some issues were noted with rendering in some edge cases. This MR deals with following issues primarily:

  1. Fixes slow-downs of wobbly windows in multi-output setups.
  2. Fixes artifacts with wobbly windows on outputs in portrait mode using the buffer age extension.

For (1) we restrict more when an output should be repainted. We also introduce a new function to schedule repaints only on outputs the window is on. The issue seems to still be relevant when outputs are on top of each other but less pronounced than before.

For (2) we just omit buffer age extension usage when the hardware does not transform on its own as it is not yet clear what's the root issue for that artifacts.

Besides that code styling is improved and some comments are added to explain how the buffer age mechanism is working.

Merge request reports