Skip to content

Commit 9cd6b43

Browse files
committed
drm/vkms: Add P01* formats
The formats NV 12/16/24/21/61/42 were already supported. Add support for: - P010 - P012 - P016 Reviewed-by: Maíra Canal <mcanal@igalia.com> Acked-by: Daniel Stone <daniels@collabora.com> Link: https://lore.kernel.org/r/20250703-b4-new-color-formats-v7-8-15fd8fd2e15c@bootlin.com Signed-off-by: Louis Chauvet <louis.chauvet@bootlin.com>
1 parent 9e6600e commit 9cd6b43

2 files changed

Lines changed: 9 additions & 1 deletion

File tree

drivers/gpu/drm/vkms/vkms_formats.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -528,7 +528,8 @@ static void function_name(const struct vkms_plane_state *plane, int x_start, \
528528

529529
READ_LINE_YUV_SEMIPLANAR(YUV888_semiplanar_read_line, y, uv, u8, u8, argb_u16_from_yuv161616,
530530
y[0] * 257, uv[0] * 257, uv[1] * 257)
531-
531+
READ_LINE_YUV_SEMIPLANAR(YUV161616_semiplanar_read_line, y, uv, u16, u16, argb_u16_from_yuv161616,
532+
y[0], uv[0], uv[1])
532533
/*
533534
* This callback can be used for YUV format where each color component is
534535
* stored in a different plane (often called planar formats). It will
@@ -725,6 +726,10 @@ pixel_read_line_t get_pixel_read_line_function(u32 format)
725726
case DRM_FORMAT_NV61:
726727
case DRM_FORMAT_NV42:
727728
return &YUV888_semiplanar_read_line;
729+
case DRM_FORMAT_P010:
730+
case DRM_FORMAT_P012:
731+
case DRM_FORMAT_P016:
732+
return &YUV161616_semiplanar_read_line;
728733
case DRM_FORMAT_YUV420:
729734
case DRM_FORMAT_YUV422:
730735
case DRM_FORMAT_YUV444:

drivers/gpu/drm/vkms/vkms_plane.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@ static const u32 vkms_formats[] = {
3939
DRM_FORMAT_YVU420,
4040
DRM_FORMAT_YVU422,
4141
DRM_FORMAT_YVU444,
42+
DRM_FORMAT_P010,
43+
DRM_FORMAT_P012,
44+
DRM_FORMAT_P016,
4245
DRM_FORMAT_R1,
4346
DRM_FORMAT_R2,
4447
DRM_FORMAT_R4,

0 commit comments

Comments
 (0)