This series improves the handling of alpha formats with the VC4 HVS compositor. Alpha formats are marked as premultiplied as is standard for DRM. Further fix a display corruption issue when planes with per-pixel alpha try blending from the (nonexistent) background by selectively enabling a black background color fill.
This series follows the changes suggested by Eric Anholt in a previous patch discussion:
https://patchwork.freedesktop.org/patch/207667/
A simple test program for the display corruption issue is available:
https://github.com/stschake/vc4-alpha-test
v2 of the series fixes the has_alpha confusion and moves needs_bg_fill into the plane state. This unfortunately necessitated moving the plane state to a header where it can be referenced from vc4_crtc.
Stefan Schake (4): drm/vc4: Set premultiplied for alpha formats drm/vc4: Check if plane requires background fill drm/vc4: Move plane state to header drm/vc4: Enable background color fill when necessary
drivers/gpu/drm/vc4/vc4_crtc.c | 25 +++++++++++++++ drivers/gpu/drm/vc4/vc4_drv.h | 60 ++++++++++++++++++++++++++++++++++++ drivers/gpu/drm/vc4/vc4_plane.c | 68 ++++++++--------------------------------- drivers/gpu/drm/vc4/vc4_regs.h | 1 + 4 files changed, 99 insertions(+), 55 deletions(-)