[PATCH v7 0/8] drm/vkms: Add support for multiple plane formats
From: Louis Chauvet
Date: Thu Jul 03 2025 - 03:59:43 EST
@maíra: For the patch 6/8 I just removed the comment about yuv input
size, is it good for you?
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.chauvet@xxxxxxxxxxx>
---
Changes in v7:
- Fixed build warning
- Link to v6: https://lore.kernel.org/r/20250628-b4-new-color-formats-v6-0-2125b193f91a@xxxxxxxxxxx
Changes in v6:
- Reformat commit message
- Remove outdated comment
- Link to v5: https://lore.kernel.org/r/20250627-b4-new-color-formats-v5-0-94452f119c72@xxxxxxxxxxx
Changes in v5:
- Avoid code duplication in RGB565 and BRG565 readline functions
- Properly rename yuv_u8 to yuv_u16
- Fix useless indentatin
- Remove untested formats
- Link to v4: https://lore.kernel.org/r/20250530-b4-new-color-formats-v4-0-ef5f9f48376c@xxxxxxxxxxx
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-23f7776197c9@xxxxxxxxxxx
Changes in v3:
- Rebased on new YUV iterations
- Link to v2: https://lore.kernel.org/r/20241007-b4-new-color-formats-v2-0-d47da50d4674@xxxxxxxxxxx
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@xxxxxxxxxxx
---
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 | 143 ++++++-----
drivers/gpu/drm/vkms/vkms_formats.c | 331 +++++++++++++-------------
drivers/gpu/drm/vkms/vkms_formats.h | 4 +-
drivers/gpu/drm/vkms/vkms_plane.c | 13 +-
4 files changed, 251 insertions(+), 240 deletions(-)
---
base-commit: b4cd18f485687a2061ee7a0ce6833851fc4438da
change-id: 20240312-b4-new-color-formats-1be9d688b21a
Best regards,
--
Louis Chauvet <louis.chauvet@xxxxxxxxxxx>