]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/vkms: Document pixel_argb_u16
authorLouis Chauvet <louis.chauvet@bootlin.com>
Tue, 15 Apr 2025 13:55:32 +0000 (15:55 +0200)
committerLouis Chauvet <louis.chauvet@bootlin.com>
Wed, 28 May 2025 14:19:13 +0000 (16:19 +0200)
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: Pekka Paalanen <pekka.paalanen@collabora.com>
Link: https://lore.kernel.org/r/20250415-yuv-v18-1-f2918f71ec4b@bootlin.com
Signed-off-by: Louis Chauvet <louis.chauvet@bootlin.com>
drivers/gpu/drm/vkms/vkms_drv.h

index a74a7fc3a056b0244f88bbfb7bd1694e3329026c..3b7b46dd026f01390312ec67a20e6f18df02119f 100644 (file)
@@ -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;
 };