Skip to content

Commit 985769b

Browse files
committed
drm/vkms: Add support for ARGB8888 formats
The formats XRGB8888 and ARGB8888 were already supported. Add the support for: - XBGR8888 - ABGR8888 - RGBA8888 - BGRA8888 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-2-15fd8fd2e15c@bootlin.com Signed-off-by: Louis Chauvet <louis.chauvet@bootlin.com>
1 parent 544f161 commit 985769b

2 files changed

Lines changed: 15 additions & 3 deletions

File tree

drivers/gpu/drm/vkms/vkms_formats.c

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -438,9 +438,12 @@ static void R4_read_line(const struct vkms_plane_state *plane, int x_start,
438438

439439

440440
READ_LINE_ARGB8888(XRGB8888_read_line, px, 0xFF, px[2], px[1], px[0])
441+
READ_LINE_ARGB8888(XBGR8888_read_line, px, 0xFF, px[0], px[1], px[2])
441442

442443
READ_LINE_ARGB8888(ARGB8888_read_line, px, px[3], px[2], px[1], px[0])
443444
READ_LINE_ARGB8888(ABGR8888_read_line, px, px[3], px[0], px[1], px[2])
445+
READ_LINE_ARGB8888(RGBA8888_read_line, px, px[0], px[3], px[2], px[1])
446+
READ_LINE_ARGB8888(BGRA8888_read_line, px, px[0], px[1], px[2], px[3])
444447

445448
READ_LINE_le16161616(ARGB16161616_read_line, px, px[3], px[2], px[1], px[0])
446449
READ_LINE_le16161616(XRGB16161616_read_line, px, cpu_to_le16(0xFFFF), px[2], px[1], px[0])
@@ -650,10 +653,16 @@ pixel_read_line_t get_pixel_read_line_function(u32 format)
650653
switch (format) {
651654
case DRM_FORMAT_ARGB8888:
652655
return &ARGB8888_read_line;
653-
case DRM_FORMAT_XRGB8888:
654-
return &XRGB8888_read_line;
655656
case DRM_FORMAT_ABGR8888:
656657
return &ABGR8888_read_line;
658+
case DRM_FORMAT_BGRA8888:
659+
return &BGRA8888_read_line;
660+
case DRM_FORMAT_RGBA8888:
661+
return &RGBA8888_read_line;
662+
case DRM_FORMAT_XRGB8888:
663+
return &XRGB8888_read_line;
664+
case DRM_FORMAT_XBGR8888:
665+
return &XBGR8888_read_line;
657666
case DRM_FORMAT_ARGB16161616:
658667
return &ARGB16161616_read_line;
659668
case DRM_FORMAT_XRGB16161616:

drivers/gpu/drm/vkms/vkms_plane.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,11 @@
1414

1515
static const u32 vkms_formats[] = {
1616
DRM_FORMAT_ARGB8888,
17-
DRM_FORMAT_XRGB8888,
1817
DRM_FORMAT_ABGR8888,
18+
DRM_FORMAT_BGRA8888,
19+
DRM_FORMAT_RGBA8888,
20+
DRM_FORMAT_XRGB8888,
21+
DRM_FORMAT_XBGR8888,
1922
DRM_FORMAT_XRGB16161616,
2023
DRM_FORMAT_ARGB16161616,
2124
DRM_FORMAT_RGB565,

0 commit comments

Comments
 (0)