emersion/libliftoff

Mapping order on amdgpu

Opened this issue · 0 comments

Somewhat related to #60.

Trying to present these 3 layers on amdgpu:

  1. Fullscreen NV12
  2. Fullscreen ARGB8888
  3. Cursor ARGB8888

This combination can work:

  1. Primary plane
  2. Overlay plane
  3. Cursor plane

However, libliftoff will try to construct the mapping step by step:

  • Will try to map layer (1) to the primary plane, success
  • Will try to map layer (3) to the cursor plane, failure because amdgpu can't do cursors directly over YUV

It's a case where adding a new plane will make the configuration work -- the intermediate ARGB plane allows amdgpu to draw the cursor.