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 v2[1]: - 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[2]: - 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 opened a merge request at [3]. Thanks for your comments! [1] "[PATCH libdrm v2 00/10] Big-endian fixes" https://lore.kernel.org/r/cover.1657302103.git.geert@xxxxxxxxxxxxxx/#t [2] "[PATCH RFC libdrm 0/2] Big-endian fixes" https://lore.kernel.org/r/cover.1646684158.git.geert@xxxxxxxxxxxxxx [3] https://gitlab.freedesktop.org/mesa/drm/-/merge_requests/331 Geert Uytterhoeven (9): intel: improve checks for big-endian 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 | 2 +- tests/modetest/buffers.c | 4 ++ tests/modetest/modetest.c | 15 +++-- tests/util/format.c | 3 + tests/util/pattern.c | 117 +++++++++++++++++++++++++++++++------- 5 files changed, 114 insertions(+), 27 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