This series introduce a macro to generate a function to read simple formats. It avoid duplication of the same logic for similar formats.
In addition, it also introduce multiple "easy" formats (rgb888 variants) and also 16 bits yuv support (P01* formats). PATCH 1 is the introduction of the macro and adaptation of the existing code to avoid duplication PATCH 2-5 introduce new formats with the help of this macro. PATCH 6 adds support for 16-bit yuv formats PATCH 7 introduces a macro to reduce code duplication between yuv formats PATCH 8 adds support for P01* formats I tested the implementation using kms_plane. Signed-off-by: Louis Chauvet <louis.chau...@bootlin.com> --- Changes in v4: - Update tests to test yuv 16 bits conversions, not only 8 bits - Link to v3: https://lore.kernel.org/r/20241122-b4-new-color-formats-v3-0-23f777619...@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-d47da50d4...@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-74cf9fe07...@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 | 103 ++++---- drivers/gpu/drm/vkms/vkms_formats.c | 341 +++++++++++++------------- drivers/gpu/drm/vkms/vkms_formats.h | 4 +- drivers/gpu/drm/vkms/vkms_plane.c | 15 +- 4 files changed, 244 insertions(+), 219 deletions(-) --- base-commit: 2271e0a20ef795838527815e057f5af206b69c87 change-id: 20240312-b4-new-color-formats-1be9d688b21a Best regards, -- Louis Chauvet <louis.chau...@bootlin.com>