modetest: add support for big-endian XRGB1555/RGB565
authorGeert Uytterhoeven <geert@linux-m68k.org>
Sun, 3 Jul 2022 13:31:26 +0000 (15:31 +0200)
committerDmitry Baryshkov <dbaryshkov@gmail.com>
Tue, 31 Oct 2023 13:24:32 +0000 (13:24 +0000)
Add support for creating buffers using big-endian formats.

For now this is limited to XRGB1555 and RGB565, which are the most
common big-endian formats.

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
v5:
  - Add Reviewed-by,

v4:
  - No changes,

v3:
  - No changes,

v2:
  - New.

tests/modetest/buffers.c

index cc34ba4..576e2cc 100644 (file)
@@ -164,6 +164,7 @@ bo_create(int fd, unsigned int format,
        case DRM_FORMAT_BGRX4444:
        case DRM_FORMAT_ARGB1555:
        case DRM_FORMAT_XRGB1555:
+       case DRM_FORMAT_XRGB1555 | DRM_FORMAT_BIG_ENDIAN:
        case DRM_FORMAT_ABGR1555:
        case DRM_FORMAT_XBGR1555:
        case DRM_FORMAT_RGBA5551:
@@ -171,6 +172,7 @@ bo_create(int fd, unsigned int format,
        case DRM_FORMAT_BGRA5551:
        case DRM_FORMAT_BGRX5551:
        case DRM_FORMAT_RGB565:
+       case DRM_FORMAT_RGB565 | DRM_FORMAT_BIG_ENDIAN:
        case DRM_FORMAT_BGR565:
        case DRM_FORMAT_UYVY:
        case DRM_FORMAT_VYUY:
@@ -330,6 +332,7 @@ bo_create(int fd, unsigned int format,
        case DRM_FORMAT_BGRX4444:
        case DRM_FORMAT_ARGB1555:
        case DRM_FORMAT_XRGB1555:
+       case DRM_FORMAT_XRGB1555 | DRM_FORMAT_BIG_ENDIAN:
        case DRM_FORMAT_ABGR1555:
        case DRM_FORMAT_XBGR1555:
        case DRM_FORMAT_RGBA5551:
@@ -337,6 +340,7 @@ bo_create(int fd, unsigned int format,
        case DRM_FORMAT_BGRA5551:
        case DRM_FORMAT_BGRX5551:
        case DRM_FORMAT_RGB565:
+       case DRM_FORMAT_RGB565 | DRM_FORMAT_BIG_ENDIAN:
        case DRM_FORMAT_BGR565:
        case DRM_FORMAT_BGR888:
        case DRM_FORMAT_RGB888: