From c1f1b704d92af4a2de5515fd129b11e0d113eec3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pavel=20Ondra=C4=8Dka?= Date: Mon, 13 Apr 2026 22:42:46 +0200 Subject: [PATCH] dri: add big-endian 8888 entries to driImageFormatToSizedInternalGLFormat MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit So that dma-buf-imported EGLImages on big-endian hosts resolve to a sized GL internal format in st_bind_egl_image() instead of falling back to unsized GL_RGBA/GL_RGB. Reviewed-by: Marek Olšák Part-of: --- src/gallium/frontends/dri/dri_util.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/gallium/frontends/dri/dri_util.c b/src/gallium/frontends/dri/dri_util.c index 21e2a7436d8..3b5c22af40d 100644 --- a/src/gallium/frontends/dri/dri_util.c +++ b/src/gallium/frontends/dri/dri_util.c @@ -956,6 +956,24 @@ static const struct { .image_format = __DRI_IMAGE_FORMAT_XBGR8888, .internal_format = GL_RGB8, }, +#if UTIL_ARCH_BIG_ENDIAN + { + .image_format = PIPE_FORMAT_A8R8G8B8_UNORM, + .internal_format = GL_RGBA8, + }, + { + .image_format = PIPE_FORMAT_X8R8G8B8_UNORM, + .internal_format = GL_RGB8, + }, + { + .image_format = PIPE_FORMAT_A8B8G8R8_UNORM, + .internal_format = GL_RGBA8, + }, + { + .image_format = PIPE_FORMAT_X8B8G8R8_UNORM, + .internal_format = GL_RGB8, + }, +#endif { .image_format = __DRI_IMAGE_FORMAT_R8, .internal_format = GL_R8,