drm/vkms: add overlay support
authorMelissa Wen <melissa.srw@gmail.com>
Sat, 24 Apr 2021 08:26:10 +0000 (05:26 -0300)
committerMelissa Wen <melissa.srw@gmail.com>
Thu, 29 Apr 2021 21:53:05 +0000 (18:53 -0300)
commit310e506c06e495b8fbe3502c70d896bc5b8b2502
tree618543d8ecead43d09170a7d84df8d1670dee7c2
parent32a1648aca440904e0943b9cf36d5a3318205bb1
drm/vkms: add overlay support

Add support to overlay plane, in addition to primary and cursor
planes. In this approach, the plane composition still requires an
active primary plane and planes are composed associatively in the
order: (primary <- overlay) <- cursor

It enables to run the following IGT tests successfully:
- kms_plane_cursor:
  - pipe-A-[overlay, primary, viewport]-size-[64, 128, 256]
- kms_atomic:
  - plane-overlay-legacy
and preserves the successful execution of kms_cursor_crc,
kms_writeback and kms_flip

Signed-off-by: Melissa Wen <melissa.srw@gmail.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/msgid/8261bf93d8a0e3ffaf81d8e7c9b3e9c229116be3.1619250933.git.melissa.srw@gmail.com
drivers/gpu/drm/vkms/vkms_composer.c
drivers/gpu/drm/vkms/vkms_drv.c
drivers/gpu/drm/vkms/vkms_drv.h
drivers/gpu/drm/vkms/vkms_output.c
drivers/gpu/drm/vkms/vkms_plane.c