diff options
| author | Louis Chauvet <louis.chauvet@bootlin.com> | 2025-04-15 15:55:32 +0200 |
|---|---|---|
| committer | Louis Chauvet <louis.chauvet@bootlin.com> | 2025-05-28 16:19:13 +0200 |
| commit | c76e2c78bc2a35ca04eead275f14b6d23ae9a89f (patch) | |
| tree | c6e8e4fb61738d16bf9fc493680cd05cb8f45306 /drivers/gpu/drm | |
| parent | drm/amdgpu: update trace format to match gpu_scheduler_trace (diff) | |
| download | linux-c76e2c78bc2a35ca04eead275f14b6d23ae9a89f.tar.gz linux-c76e2c78bc2a35ca04eead275f14b6d23ae9a89f.zip | |
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: 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>
Diffstat (limited to 'drivers/gpu/drm')
| -rw-r--r-- | drivers/gpu/drm/vkms/vkms_drv.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/gpu/drm/vkms/vkms_drv.h b/drivers/gpu/drm/vkms/vkms_drv.h index a74a7fc3a056..3b7b46dd026f 100644 --- a/drivers/gpu/drm/vkms/vkms_drv.h +++ b/drivers/gpu/drm/vkms/vkms_drv.h @@ -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; }; |
