From 8f56c51d51af0af05441bf065529aac55a5227e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pavel=20Ondra=C4=8Dka?= Date: Mon, 13 Apr 2026 22:42:45 +0200 Subject: [PATCH] dri: add big-endian 8888 entries to dri2_format_table MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit So that dri2_get_mapping_by_fourcc() resolves the byte-reversed fourccs (DRM_FORMAT_BGRA/BGRX/RGBA/RGBX8888) used for the native 8888 visual on big-endian hosts. Reviewed-by: Marek Olšák Part-of: --- src/gallium/frontends/dri/dri_helpers.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/gallium/frontends/dri/dri_helpers.c b/src/gallium/frontends/dri/dri_helpers.c index 9cf6d73315a..68e9ae6395a 100644 --- a/src/gallium/frontends/dri/dri_helpers.c +++ b/src/gallium/frontends/dri/dri_helpers.c @@ -427,16 +427,24 @@ static const struct dri2_format_mapping dri2_format_table[] = { PIPE_FORMAT_R10G10B10X2_UNORM, 1, }, { DRM_FORMAT_ARGB8888, __DRI_IMAGE_FORMAT_ARGB8888, PIPE_FORMAT_BGRA8888_UNORM, 1, }, + { DRM_FORMAT_BGRA8888, PIPE_FORMAT_A8R8G8B8_UNORM, + PIPE_FORMAT_A8R8G8B8_UNORM, 1, }, { DRM_FORMAT_ABGR8888, __DRI_IMAGE_FORMAT_ABGR8888, PIPE_FORMAT_RGBA8888_UNORM, 1, }, + { DRM_FORMAT_RGBA8888, PIPE_FORMAT_A8B8G8R8_UNORM, + PIPE_FORMAT_A8B8G8R8_UNORM, 1, }, { __DRI_IMAGE_FOURCC_SARGB8888, __DRI_IMAGE_FORMAT_SARGB8, PIPE_FORMAT_BGRA8888_SRGB, 1, }, { DRM_FORMAT_XRGB8888, __DRI_IMAGE_FORMAT_XRGB8888, PIPE_FORMAT_BGRX8888_UNORM, 1, }, + { DRM_FORMAT_BGRX8888, PIPE_FORMAT_X8R8G8B8_UNORM, + PIPE_FORMAT_X8R8G8B8_UNORM, 1, }, { DRM_FORMAT_RGB888, __DRI_IMAGE_FORMAT_RGB888, PIPE_FORMAT_B8G8R8_UNORM, 1, }, { DRM_FORMAT_XBGR8888, __DRI_IMAGE_FORMAT_XBGR8888, PIPE_FORMAT_RGBX8888_UNORM, 1, }, + { DRM_FORMAT_RGBX8888, PIPE_FORMAT_X8B8G8R8_UNORM, + PIPE_FORMAT_X8B8G8R8_UNORM, 1, }, { DRM_FORMAT_BGR888, __DRI_IMAGE_FORMAT_BGR888, PIPE_FORMAT_R8G8B8_UNORM, 1, }, { DRM_FORMAT_ARGB1555, __DRI_IMAGE_FORMAT_ARGB1555,