[PATCH libdrm v5 0/9] Big-endian fixes

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

 



	Hi all,

This patch series fixes some endianness issues in libdrm.
It has been tested on ARAnyM using a work-in-progress Atari DRM driver.
After this, the smpte and tiles modetest patterns and the pwetty markers
are rendered correctly using the XR24, RG16, and RG16BE formats on
big-endian systems.

Changes compared to v4[1]:
  - Add Reviewed-by,

Changes compared to v3[2]:
  - Replace explicit #ifdef checks by a define set by meson,
  - Use new HAVE_BIG_ENDIAN symbol,

Changes compared to v2[3]:
  - Increase indentation after definition of cpu_to_*() macros,
  - Update for suffix change from "be" to "_BE", cfr. commit
    ffb9375a505700ad ("xf86drm: handle DRM_FORMAT_BIG_ENDIAN in
    drmGetFormatName()"),
  - Replace hardcoded numbers in code by sizeof(),
  - Wrap byteswap_buffer{16,32}() implementation inside #if HAVE_CAIRO
    to avoid defined-but-not-used compiler warnings,
  - Drop "modetest: Fix printing of big-endian fourcc values", as it is
    no longer needed since commit ffb9375a505700ad ("xf86drm: handle
    DRM_FORMAT_BIG_ENDIAN in drmGetFormatName()").

Changes compared to v1[4]:
  - Consider arm, aarch64, microblaze, s390, and sh in endianness
    checks,
  - Add Acked-by,
  - Add swap32() intermediate helper,
  - Fix 16 bpp formats on big-endian,
  - Add support for big-endian XRGB1555 and RGB565,
  - Fix printing of big-endian fourcc values,
  - Fix pwetty on big-endian.

I have also updated the merge request at [5].

Thanks for your comments!

[1] "[PATCH libdrm v4 0/9] Big-endian fixes"
    https://lists.freedesktop.org/archives/dri-devel/2023-October/428234.html
[2] "[PATCH libdrm v3 0/9] Big-endian fixes
    https://lore.kernel.org/r/cover.1698217235.git.geert@xxxxxxxxxxxxxx
[3] "[PATCH libdrm v2 00/10] Big-endian fixes"
    https://lore.kernel.org/r/cover.1657302103.git.geert@xxxxxxxxxxxxxx/#t
[4] "[PATCH RFC libdrm 0/2] Big-endian fixes"
    https://lore.kernel.org/r/cover.1646684158.git.geert@xxxxxxxxxxxxxx
[5] https://gitlab.freedesktop.org/mesa/drm/-/merge_requests/331

Geert Uytterhoeven (9):
  intel: determine target endianness using meson
  util: fix 32 bpp patterns on big-endian
  util: fix 16 bpp patterns on big-endian
  util: add missing big-endian RGB16 frame buffer formats
  modetest: add support for parsing big-endian formats
  util: add test pattern support for big-endian XRGB1555/RGB565
  util: fix pwetty on big-endian
  util: add pwetty support for big-endian RGB565
  modetest: add support for big-endian XRGB1555/RGB565

 intel/uthash.h            |   4 +-
 meson.build               |   5 ++
 tests/modetest/buffers.c  |   4 ++
 tests/modetest/modetest.c |  15 +++--
 tests/util/format.c       |   3 +
 tests/util/pattern.c      | 117 +++++++++++++++++++++++++++++++-------
 6 files changed, 120 insertions(+), 28 deletions(-)

-- 
2.34.1

Gr{oetje,eeting}s,

						Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

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



[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