This series introduce a macro to generate a function to read simple
formats. It avoid duplication of the same logic for similar formats.
PATCH 1 is the introduction of the macro and adaptation of the existing
code to avoid duplication
PATCH 2-6 introduce new formats with the help of this macro.
This series must be applied on top of [1].
[1]: https://lore.kernel.org/all/20241122-yuv-v14-0-e66d83d28d0c@bootlin.com/
Signed-off-by: Louis Chauvet <louis.chauvet@bootlin.com>
---
Changes in v3:
- Rebased on new YUV iterations
- Link to v2: https://lore.kernel.org/r/20241007-b4-new-color-formats-v2-0-d47da50d4674@bootlin.com
Changes in v2:
- Add proper casting/type to __le16 when needed to avoid warnings with
sparse
- Change the function argb_u16_from_yuv8888 to argb_u16_from_yuv161616 to
support 16 bits values.
- Add support for P010/P012/P016 format
- Link to v1: https://lore.kernel.org/r/20240516-b4-new-color-formats-v1-0-74cf9fe07317@bootlin.com
---
Louis Chauvet (8):
drm/vkms: Create helpers macro to avoid code duplication in format callbacks
drm/vkms: Add support for ARGB8888 formats
drm/vkms: Add support for ARGB16161616 formats
drm/vkms: Add support for RGB565 formats
drm/vkms: Add support for RGB888 formats
drm/vkms: Change YUV helpers to support u16 inputs for conversion
drm/vkms: Create helper macro for YUV formats
drm/vkms: Add P01* formats
drivers/gpu/drm/vkms/tests/vkms_format_test.c | 3 +-
drivers/gpu/drm/vkms/vkms_formats.c | 318 ++++++++++++++------------
drivers/gpu/drm/vkms/vkms_formats.h | 4 +-
drivers/gpu/drm/vkms/vkms_plane.c | 14 ++
4 files changed, 194 insertions(+), 145 deletions(-)
---
base-commit: 98efdd02e220fea84c1491012d7292749a71faeb
change-id: 20240312-b4-new-color-formats-1be9d688b21a
prerequisite-message-id: 20241122-yuv-v14-0-e66d83d28d0c@bootlin.com
prerequisite-patch-id: d08b040cfd7aeba4a237029500f5aa8266450cbd
prerequisite-patch-id: deda292af6d8bbf6762b0bf4d351ffd2225995d8
prerequisite-patch-id: 6c2aa2645c7d854951608aa4d15a02e076abe1fe
prerequisite-patch-id: 62f509c48590dc333dc84e2185dc8b9edd61761b
prerequisite-patch-id: 7d988613c79a1ab056110418c04865bf019402cc
prerequisite-patch-id: 43f37e9c1bc041d491e41dfb59548ed258a1e071
prerequisite-patch-id: 1b2a3898d5f8c21b0d306c07b424414bcb14554b
Best regards,
--
Louis Chauvet <louis.chauvet@bootlin.com>