]> git.baikalelectronics.ru Git - kernel.git/commit
drm/format-helper: Add RGB565-to-XRGB8888 conversion
authorThomas Zimmermann <tzimmermann@suse.de>
Mon, 25 Apr 2022 07:59:39 +0000 (09:59 +0200)
committerThomas Zimmermann <tzimmermann@suse.de>
Wed, 27 Apr 2022 06:52:06 +0000 (08:52 +0200)
commit86bcb52b83a270f7a29495f0c55d63f53d6f1c63
treecc0b59442e771d92f7d9d1b1b41dce57af4d5fae
parentb795de13d8bea854b3e885f4b52b86b349f5e0c1
drm/format-helper: Add RGB565-to-XRGB8888 conversion

Add a format helper that converts RGB565 to XRGB8888. Use this
function in drm_fb_blit_toio(). Fixes simpledrm output for this
combination of formats.

UEFI and/or Grub will usually set 32-bit output in XRGB8888 format.
The issue can be reproduced by enabling simpledrm and requesting a
console framebuffer of different format on the kernel command line;
for example

  nomodeset video=1024x768-16

In this case, conversion helpers will display nothing on the console.
The patch makes this work by implementing the rsp conversion helpers.
It also enables odd userspace configurations, such as running Xorg
with 16-bit color depth on a 32-bit output buffer.

v2:
* use helpers for struct drm_rect (Javier)
* improve commit message (Javier)

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220425075939.30450-4-tzimmermann@suse.de
drivers/gpu/drm/drm_format_helper.c