dri: add big-endian 8888 entries to dri2_format_table

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 <maraeo@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41132>
This commit is contained in:
Pavel Ondračka 2026-04-13 22:42:45 +02:00
parent 1e97d3ed94
commit 8f56c51d51

View file

@ -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,