Adding support to overlay type in addition to primary and cursor plane. The planes composition relies on the z order of the active planes and only occurs if there is a primary plane (as in the current behavior). The first patch switches the function of initializing planes from drm_universal_plane_init to drmm_universal_plane_alloc. It aims to improve aspects of allocation and cleanup operations, leaving it to the DRM infrastructure. The second patch generalizes variables and functions names to refer to any kind of plane, not only cursor. The goal is to reuse them for blending overlay and cursor planes to primary. The third patch enables the plane composition to selct the correct pixel blending operation according to the plane format (XRGB8888 or ARGB8888). The last patch creates a module option to enable overlay, and includes overlay to supported types of plane. When the overlay option is enabled, one overlay plane is initialized (plus primary and cursor) and it is included in the planes composition. This work preserves the current results of IGT tests: kms_cursor_crc; kms_flip and kms_writeback. In addition, subtests related to overlay in kms_atomic and kms_plane_cursor start to pass (pointed out in the commit message). --- v2: - Drop unnecessary changes that init crtc without cursor (Daniel) - Replace function to initialize planes (Daniel) - Add proper pixel blending op according to the plane format (Daniel) v3: - Proper use of the variable funcs (kernel bot) - Adjust the patch series format Melissa Wen (4): drm/vkms: init plane using drmm_universal_plane_alloc drm/vkms: rename cursor to plane on ops of planes composition drm/vkms: add XRGB planes composition drm/vkms: add overlay support drivers/gpu/drm/vkms/vkms_composer.c | 67 ++++++++++++++++++---------- drivers/gpu/drm/vkms/vkms_drv.c | 5 +++ drivers/gpu/drm/vkms/vkms_drv.h | 9 +++- drivers/gpu/drm/vkms/vkms_output.c | 28 ++++++------ drivers/gpu/drm/vkms/vkms_plane.c | 50 +++++++++++---------- 5 files changed, 96 insertions(+), 63 deletions(-) -- 2.30.2 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel