[PATCH 00/23] [RFC] drm/format-helper: Introduce drm_pixmap, font support and filling

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This RFC patchset implements various features required for DRM panic
handling [1] and should (for now) be seen in that context.

Most of all, the patchset replaces struct drm_framebuffer with struct
drm_pixmap in the format-conversion helpers. DRM pixmap represents a
source of pixel data for the blitting operations. Patches 1 to 19
update the interface, implementation and all of the callers. These
patches could be useful even without DRM panic handling.

With struct drm_pixmap in place, patches 20 to 22 implement rudimentary
support for blitting font data. The pixmap refers to a character's glyph,
which the blit routines write to the destination memory. An example on
blitting strings is given in patch 20's commit description.

Patch 23 adds rudimentary support for fill operations. The design is
based on blitting, but blits the same color into each pixel.

[1] https://patchwork.freedesktop.org/series/122244/

Thomas Zimmermann (23):
  drm/format-helper: Add struct drm_pixmap
  drm/format-helper: Use struct drm_pixmap for drm_fb_memcpy()
  drm/format-helper: Streamline drm_fb_xfrm() implementations
  drm/format-helper: Use struct drm_pixmap internally
  drm/format-helper: Use struct drm_pixmap for drm_fb_swab()
  drm/format-helper: Use struct drm_pixmap for
    drm_fb_xrgb8888_to_rgb332()
  drm/format-helper: Use struct drm_pixmap for
    drm_fb_xrgb8888_to_rgb565()
  drm/format-helper: Use struct drm_pixmap for
    drm_fb_xrgb8888_to_xrgb1555()
  drm/format-helper: Use struct drm_pixmap for
    drm_fb_xrgb8888_to_argb1555()
  drm/format-helper: Use struct drm_pixmap for
    drm_fb_xrgb8888_to_rgba5551()
  drm/format-helper: Use struct drm_pixmap for
    drm_fb_xrgb8888_to_rgb888()
  drm/format-helper: Use struct drm_pixmap for
    drm_fb_xrgb8888_to_argb8888()
  drm/format-helper: Use struct drm_pixmap for
    drm_fb_xrgb8888_to_abgr8888()
  drm/format-helper: Use struct drm_pixmap for
    drm_fb_xrgb8888_to_xbgr8888()
  drm/format-helper: Use struct drm_pixmap for
    drm_fb_xrgb8888_to_xrgb2101010()
  drm/format-helper: Use struct drm_pixmap for
    drm_fb_xrgb8888_to_argb2101010()
  drm/format-helper: Use struct drm_pixmap for
    drm_fb_xrgb8888_to_gray8()
  drm/format-helper: Use struct drm_pixmap for drm_fb_xrgb8888_to_mono()
  drm/format-helper: Use struct drm_pixmap for drm_fb_blit()
  [DO NOT MERGE] drm/format-helper: Add font-support for DRM pixmap
  [DO NOT MERGE] drm/format-helper: Add color palette
  [DO NOT MERGE] drm/format-helper: Support blitting from C1 to XRGB8888
  [DO NOT MERGE] drm/format-helper: Add drm_fb_fill() to fill screen
    with color

 drivers/gpu/drm/ast/ast_mode.c                |   4 +-
 drivers/gpu/drm/drm_format_helper.c           | 678 ++++++++++++------
 drivers/gpu/drm/drm_mipi_dbi.c                |   9 +-
 drivers/gpu/drm/gud/gud_pipe.c                |  24 +-
 drivers/gpu/drm/hyperv/hyperv_drm_modeset.c   |   4 +-
 drivers/gpu/drm/mgag200/mgag200_mode.c        |   4 +-
 drivers/gpu/drm/solomon/ssd130x.c             |  12 +-
 .../gpu/drm/tests/drm_format_helper_test.c    | 106 ++-
 drivers/gpu/drm/tiny/cirrus.c                 |   6 +-
 drivers/gpu/drm/tiny/ofdrm.c                  |   6 +-
 drivers/gpu/drm/tiny/repaper.c                |   4 +-
 drivers/gpu/drm/tiny/simpledrm.c              |   6 +-
 drivers/gpu/drm/tiny/st7586.c                 |   4 +-
 include/drm/drm_format_helper.h               | 116 ++-
 14 files changed, 678 insertions(+), 305 deletions(-)

-- 
2.43.0




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux