[PATCH libdrm v4 0/9] Big-endian fixes
Geert Uytterhoeven
geert at linux-m68k.org
Fri Oct 27 15:48:03 UTC 2023
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 v3[1]:
- Replace explicit #ifdef checks by a define set by meson,
- Use new HAVE_BIG_ENDIAN symbol,
Changes compared to v2[2]:
- 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[3]:
- 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 [4].
Thanks for your comments!
[1] "[PATCH libdrm v3 0/9] Big-endian fixes
https://lore.kernel.org/r/cover.1698217235.git.geert@linux-m68k.org
[2] "[PATCH libdrm v2 00/10] Big-endian fixes"
https://lore.kernel.org/r/cover.1657302103.git.geert@linux-m68k.org/#t
[3] "[PATCH RFC libdrm 0/2] Big-endian fixes"
https://lore.kernel.org/r/cover.1646684158.git.geert@linux-m68k.org
[4] 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
More information about the dri-devel
mailing list