emersion/libliftoff

Composition on a non-primary plane

Opened this issue · 1 comments

In some cases, it may be a good idea to perform composition on an overlay plane. Do we want to support this at all? How should the API look like?

Mind, some hardware has trouble changing the pixel format of the primary on flight without serious flicker

Mind, some hardware has trouble changing the pixel format of the primary on flight without serious flicker

The driver should reject the atomic commit in this case, and require ALLOW_MODESET. Modulo kernel bugs.


A use-case for this came up while discussing about AMD hardware. AMD has a primary plane which supports NV12, an overlay and a cursor plane. For a media player use-case, the following would be desirable:

  • NV12 video stream on primary plane.
  • UI on overlay plane (any composition work can happen here).
  • Cursor on cursor plane.