From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> Document the fact that the use of a framebuffer with alpha implies pre-multipled alpha blending, and that the crtc background color is assumed to be black. Not sure drm_fourcc.h is the best place for the uapi docs, but couldn't think of anything better really. Cc: Mario Kleiner <mario.kleiner.de@xxxxxxxxx> Cc: Stefan Schake <stschake@xxxxxxxxx> Cc: Eric Anholt <eric@xxxxxxxxxx> Cc: Adrian Salido <salidoa@xxxxxxxxxx> Cc: Sean Paul <seanpaul@xxxxxxxxxxxx> Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> --- drivers/gpu/drm/drm_plane.c | 6 ++++++ include/uapi/drm/drm_fourcc.h | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/drivers/gpu/drm/drm_plane.c b/drivers/gpu/drm/drm_plane.c index 143041666096..21e3a560811d 100644 --- a/drivers/gpu/drm/drm_plane.c +++ b/drivers/gpu/drm/drm_plane.c @@ -48,6 +48,12 @@ * * The type of a plane is exposed in the immutable "type" enumeration property, * which has one of the following values: "Overlay", "Primary", "Cursor". + * + * Use of a framebuffer with alpha implies that the plane will use + * pre-multiplied alpha blending: Dc = Sc + (1.0 - Sa) * Dc, + * where Sa is source alpha, Sc is source color, and Dc is destination + * color. The crtc background color below all the planes is assumed to + * be black. */ static unsigned int drm_num_planes(struct drm_device *dev) diff --git a/include/uapi/drm/drm_fourcc.h b/include/uapi/drm/drm_fourcc.h index e04613d30a13..8b889a6adcd4 100644 --- a/include/uapi/drm/drm_fourcc.h +++ b/include/uapi/drm/drm_fourcc.h @@ -35,6 +35,13 @@ extern "C" { #define DRM_FORMAT_BIG_ENDIAN (1<<31) /* format is big endian instead of little endian */ +/* + * Note that using any format with alpha (A) implies pre-multiplied + * alpha blending: Dc = Sc + (1.0 - Sa) * Dc, where Sa is source alpha, + * Sc is source color, and Dc is destination color. The crtc background + * color below all the planes is assumed to be black. + */ + /* color index */ #define DRM_FORMAT_C8 fourcc_code('C', '8', ' ', ' ') /* [7:0] C */ -- 2.16.1 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel