Unverified Commit c76e2c78 authored by Louis Chauvet's avatar Louis Chauvet
Browse files

drm/vkms: Document pixel_argb_u16



The meaning of each member of the structure was not specified. To clarify
the format used and the reason behind those choices, add some
documentation.

Reviewed-by: default avatarPekka Paalanen <pekka.paalanen@collabora.com>
Link: https://lore.kernel.org/r/20250415-yuv-v18-1-f2918f71ec4b@bootlin.com


Signed-off-by: default avatarLouis Chauvet <louis.chauvet@bootlin.com>
parent 6c8e8a1c
Loading
Loading
Loading
Loading
+17 −0
Original line number Diff line number Diff line
@@ -45,6 +45,23 @@ struct vkms_frame_info {
	unsigned int rotation;
};

/**
 * struct pixel_argb_u16 - Internal representation of a pixel color.
 * @a: Alpha component value, stored in 16 bits, without padding, using
 *     machine endianness
 * @r: Red component value, stored in 16 bits, without padding, using
 *     machine endianness
 * @g: Green component value, stored in 16 bits, without padding, using
 *     machine endianness
 * @b: Blue component value, stored in 16 bits, without padding, using
 *     machine endianness
 *
 * The goal of this structure is to keep enough precision to ensure
 * correct composition results in VKMS and simplifying color
 * manipulation by splitting each component into its own field.
 * Caution: the byte ordering of this structure is machine-dependent,
 * you can't cast it directly to AR48 or xR48.
 */
struct pixel_argb_u16 {
	u16 a, r, g, b;
};