[PATCH 0/9] drm/vesadrm: Support 8-bit palettes
Thomas Zimmermann
tzimmermann at suse.de
Tue Jun 17 14:23:12 UTC 2025
VESA provides a wide range ot 8-bit palette modes. Add support to
vesadrm. For compatibility with common userspace the driver also
provides XRGB8888 on top of the palettized output.
Patches 1 to 3 prepare screen_info and struct pixel_format for
indexed formats. This cleans up the code for other drivers as well.
The pixel-format compare functions will be helpful in various places.
Patches 4 to 6 prepare for using RGB332 as intermediate format
between XRGB8888 and C8. This requires support for format conversion
and RGB332 hardware palettes.
Patches 7 to 9 update vesadrm. Patches 7 and 8 prepare the driver
without adding new functionality. Patch 9 adds support for the color
formats C8 and XRGB888. It adjusts output color formats in the plane's
atomic_check helper as needed. Palette setup happens in atomic_flush
as usual.
Tested on VGA hardware. Besides supporting odd use cases, this feature
can also help with testing support for low-end displays. Such displays
often have similar limitations.
Thomas Zimmermann (9):
video: pixel_format: Add compare helpers
video: screen_info: Add pixel-format helper for linear framebuffers
drm/sysfb: Find screen_info format with helpers
drm/sysfb: Blit to CRTC destination format
drm/color-mgmt: Prepare for RGB332 palettes
drm/format-helper: Add XRGB8888-to-RGB332 to drm_fb_blit()
drm/vesadrm: Rename vesadrm_set_gamma_lut() to vesadrm_set_color_lut()
drm/vesadrm: Prepare color management for palette-based framebuffers
drm/vesadrm: Support DRM_FORMAT_C8
drivers/gpu/drm/drm_color_mgmt.c | 32 ++++
drivers/gpu/drm/drm_format_helper.c | 3 +
drivers/gpu/drm/sysfb/drm_sysfb_helper.h | 2 +-
drivers/gpu/drm/sysfb/drm_sysfb_modeset.c | 29 ++--
drivers/gpu/drm/sysfb/drm_sysfb_screen_info.c | 21 ++-
drivers/gpu/drm/sysfb/vesadrm.c | 153 ++++++++++++++++--
drivers/video/screen_info_generic.c | 55 +++++++
include/drm/drm_color_mgmt.h | 1 +
include/linux/screen_info.h | 2 +
include/video/pixel_format.h | 61 +++++++
10 files changed, 319 insertions(+), 40 deletions(-)
--
2.49.0
More information about the dri-devel
mailing list