mbox series

[libdrm,v2,00/10] Add support for low-color frame buffer formats

Message ID cover.1657302034.git.geert@linux-m68k.org (mailing list archive)
Headers show
Series Add support for low-color frame buffer formats | expand

Message

Geert Uytterhoeven July 8, 2022, 6:21 p.m. UTC
Hi all,

A long outstanding issue with the DRM subsystem has been the lack of
support for low-color displays, as used typically on older desktop
systems, and on small embedded displays.

This patch series adds support for color-indexed frame buffer formats
with 2, 4, and 16 colors.  It has been tested on ARAnyM using a
work-in-progress Atari DRM driver.

Changes compared to v1:
  - SMPTE color LUT accuracy,
  - Factor out smpte color LUT,
  - Restructure patches,
  - Improve descriptions.
  - Store number of colors for indexed formats,
  - Add SMPTE pattern support for the C1 and C2 formats.

Please refer to [2] for related Linux DRM patches and background
information.

Thanks for your comments!

[1] "[PATCH libdrm 0/3] Add support for low-color frame buffer formats"
    https://lore.kernel.org/r/cover.1646683737.git.geert@linux-m68k.org
[2] "[PATCH v3 00/10] drm: Add support for low-color frame buffer formats"
    https://lore.kernel.org/r/cover.1657294931.git.geert@linux-m68k.org

Geert Uytterhoeven (10):
  util: Improve SMPTE color LUT accuracy
  util: Factor out and optimize C8 SMPTE color LUT
  [RFC] drm_fourcc: Add DRM_FORMAT_C[124]
  util: Add support for DRM_FORMAT_C[124]
  util: Store number of colors for indexed formats
  util: Add SMPTE pattern support for C4 format
  util: Add SMPTE pattern support for C1 format
  util: Add SMPTE pattern support for C2 format
  modetest: Add support for DRM_FORMAT_C[124]
  modetest: Add SMPTE pattern support for C4 format

 include/drm/drm_fourcc.h  |   5 +-
 tests/modetest/buffers.c  |  15 ++
 tests/modetest/modetest.c |   9 +-
 tests/util/format.c       |   5 +-
 tests/util/format.h       |   1 +
 tests/util/pattern.c      | 416 ++++++++++++++++++++++++++++++++++----
 tests/util/pattern.h      |   2 +-
 7 files changed, 409 insertions(+), 44 deletions(-)

Comments

Sam Ravnborg July 10, 2022, 10:40 a.m. UTC | #1
Hi Geert,

On Fri, Jul 08, 2022 at 08:21:30PM +0200, Geert Uytterhoeven wrote:
> 	Hi all,
> 
> A long outstanding issue with the DRM subsystem has been the lack of
> support for low-color displays, as used typically on older desktop
> systems, and on small embedded displays.
> 
> This patch series adds support for color-indexed frame buffer formats
> with 2, 4, and 16 colors.  It has been tested on ARAnyM using a
> work-in-progress Atari DRM driver.
> 
> Changes compared to v1:
>   - SMPTE color LUT accuracy,
>   - Factor out smpte color LUT,
>   - Restructure patches,
>   - Improve descriptions.
>   - Store number of colors for indexed formats,
>   - Add SMPTE pattern support for the C1 and C2 formats.
> 
> Please refer to [2] for related Linux DRM patches and background
> information.
> 
> Thanks for your comments!
> 
> [1] "[PATCH libdrm 0/3] Add support for low-color frame buffer formats"
>     https://lore.kernel.org/r/cover.1646683737.git.geert@linux-m68k.org
> [2] "[PATCH v3 00/10] drm: Add support for low-color frame buffer formats"
>     https://lore.kernel.org/r/cover.1657294931.git.geert@linux-m68k.org
> 
> Geert Uytterhoeven (10):
>   util: Improve SMPTE color LUT accuracy
>   util: Factor out and optimize C8 SMPTE color LUT
>   [RFC] drm_fourcc: Add DRM_FORMAT_C[124]
>   util: Add support for DRM_FORMAT_C[124]
>   util: Store number of colors for indexed formats
>   util: Add SMPTE pattern support for C4 format
>   util: Add SMPTE pattern support for C1 format
>   util: Add SMPTE pattern support for C2 format
>   modetest: Add support for DRM_FORMAT_C[124]
>   modetest: Add SMPTE pattern support for C4 format

I have browsed the patches - everything looked good.
The parts with Floyd-Steinberg dithering did get less
attention as I do not know it.
But everything looked good and the series is:

Acked-by: Sam Ravnborg <sam@ravnborg.org>

	Sam
Geert Uytterhoeven July 10, 2022, 12:15 p.m. UTC | #2
Hi Sam,

On Sun, Jul 10, 2022 at 12:40 PM Sam Ravnborg <sam@ravnborg.org> wrote:
> On Fri, Jul 08, 2022 at 08:21:30PM +0200, Geert Uytterhoeven wrote:
> > A long outstanding issue with the DRM subsystem has been the lack of
> > support for low-color displays, as used typically on older desktop
> > systems, and on small embedded displays.
> >
> > This patch series adds support for color-indexed frame buffer formats
> > with 2, 4, and 16 colors.  It has been tested on ARAnyM using a
> > work-in-progress Atari DRM driver.
> >
> > Changes compared to v1:
> >   - SMPTE color LUT accuracy,
> >   - Factor out smpte color LUT,
> >   - Restructure patches,
> >   - Improve descriptions.
> >   - Store number of colors for indexed formats,
> >   - Add SMPTE pattern support for the C1 and C2 formats.
> >
> > Please refer to [2] for related Linux DRM patches and background
> > information.
> >
> > Thanks for your comments!
> >
> > [1] "[PATCH libdrm 0/3] Add support for low-color frame buffer formats"
> >     https://lore.kernel.org/r/cover.1646683737.git.geert@linux-m68k.org
> > [2] "[PATCH v3 00/10] drm: Add support for low-color frame buffer formats"
> >     https://lore.kernel.org/r/cover.1657294931.git.geert@linux-m68k.org
> >
> > Geert Uytterhoeven (10):
> >   util: Improve SMPTE color LUT accuracy
> >   util: Factor out and optimize C8 SMPTE color LUT
> >   [RFC] drm_fourcc: Add DRM_FORMAT_C[124]
> >   util: Add support for DRM_FORMAT_C[124]
> >   util: Store number of colors for indexed formats
> >   util: Add SMPTE pattern support for C4 format
> >   util: Add SMPTE pattern support for C1 format
> >   util: Add SMPTE pattern support for C2 format
> >   modetest: Add support for DRM_FORMAT_C[124]
> >   modetest: Add SMPTE pattern support for C4 format
>
> I have browsed the patches - everything looked good.
> The parts with Floyd-Steinberg dithering did get less
> attention as I do not know it.

As a picture says more than 10000 words, I shared screenshots of
modetest showing the SMPTE pattern in C1 (monochrome FS-dithered
[1]), C2 (PenTile RG-GB FS-dithered [2]), and C4 ([3]).
And Wikipedia[4] is your friend for the algorithm ;-)

> But everything looked good and the series is:
>
> Acked-by: Sam Ravnborg <sam@ravnborg.org>

Thanks!

[1] https://drive.google.com/file/d/1waJczErrIaEKRhBCCU1ynxRG8agpo0Xx/view?usp=sharing
[2] https://drive.google.com/file/d/1g5O8XeacrjrC8rgaVENvR65YeI6QvmtO/view?usp=sharing
[3] https://drive.google.com/file/d/1VIMqz_OkjJbbFS2OCX1O8GBm4bag6y2n/view?usp=sharing
[4] https://en.wikipedia.org/wiki/Floyd%E2%80%93Steinberg_dithering

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds