summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/vkms/vkms_formats.c
diff options
context:
space:
mode:
authorLouis Chauvet <louis.chauvet@bootlin.com>2025-07-03 09:57:04 +0200
committerLouis Chauvet <louis.chauvet@bootlin.com>2025-09-05 19:57:26 +0200
commit9cd6b43a0f7fc0dfb779c73f4aeb4d3fe8820698 (patch)
tree0621e9ccd52ee405f8e219a6c95b0ae29c09edfb /drivers/gpu/drm/vkms/vkms_formats.c
parent9e6600e9d3683cdf0196fde7439dba4c50946906 (diff)
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>
Diffstat (limited to 'drivers/gpu/drm/vkms/vkms_formats.c')
-rw-r--r--drivers/gpu/drm/vkms/vkms_formats.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/gpu/drm/vkms/vkms_formats.c b/drivers/gpu/drm/vkms/vkms_formats.c
index 639b1c7ca43e..dfb8e13cba87 100644
--- a/drivers/gpu/drm/vkms/vkms_formats.c
+++ b/drivers/gpu/drm/vkms/vkms_formats.c
@@ -528,7 +528,8 @@ static void function_name(const struct vkms_plane_state *plane, int x_start, \
READ_LINE_YUV_SEMIPLANAR(YUV888_semiplanar_read_line, y, uv, u8, u8, argb_u16_from_yuv161616,
y[0] * 257, uv[0] * 257, uv[1] * 257)
-
+READ_LINE_YUV_SEMIPLANAR(YUV161616_semiplanar_read_line, y, uv, u16, u16, argb_u16_from_yuv161616,
+ y[0], uv[0], uv[1])
/*
* This callback can be used for YUV format where each color component is
* 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)
case DRM_FORMAT_NV61:
case DRM_FORMAT_NV42:
return &YUV888_semiplanar_read_line;
+ case DRM_FORMAT_P010:
+ case DRM_FORMAT_P012:
+ case DRM_FORMAT_P016:
+ return &YUV161616_semiplanar_read_line;
case DRM_FORMAT_YUV420:
case DRM_FORMAT_YUV422:
case DRM_FORMAT_YUV444: