From b03cd283d5c7513a9d14976ffb57b5e2c8a3c76c Mon Sep 17 00:00:00 2001 From: Timothy Arceri Date: Wed, 25 Jun 2025 12:43:20 +1000 Subject: [PATCH] dril: use endian independent pipe formats fourcc_to_pipe_format() was using the endian specific pipe formats but drilConfigs which guards the supported formats was using the little endian definitions directly so we would always skip the formats on big endian. The little endian pipe format is the correct one to use since that is how DRM_FORMAT_* formats are defined. Fixes: 20b340070149 ("dril: rework config creation") Acked-by: Mike Blumenkrantz Part-of: --- src/gallium/targets/dril/dril_target.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/gallium/targets/dril/dril_target.c b/src/gallium/targets/dril/dril_target.c index f0985f101b8..a07fa55976a 100644 --- a/src/gallium/targets/dril/dril_target.c +++ b/src/gallium/targets/dril/dril_target.c @@ -303,10 +303,10 @@ fourcc_to_pipe_format(int fourcc) { switch (fourcc) { case DRM_FORMAT_RGB565: return PIPE_FORMAT_B5G6R5_UNORM; - case DRM_FORMAT_XRGB8888: return PIPE_FORMAT_BGRX8888_UNORM; - case DRM_FORMAT_ARGB8888: return PIPE_FORMAT_BGRA8888_UNORM; - case DRM_FORMAT_ABGR8888: return PIPE_FORMAT_RGBA8888_UNORM; - case DRM_FORMAT_XBGR8888: return PIPE_FORMAT_RGBX8888_UNORM; + case DRM_FORMAT_XRGB8888: return PIPE_FORMAT_B8G8R8X8_UNORM; + case DRM_FORMAT_ARGB8888: return PIPE_FORMAT_B8G8R8A8_UNORM; + case DRM_FORMAT_ABGR8888: return PIPE_FORMAT_R8G8B8A8_UNORM; + case DRM_FORMAT_XBGR8888: return PIPE_FORMAT_R8G8B8X8_UNORM; case DRM_FORMAT_XRGB2101010: return PIPE_FORMAT_B10G10R10X2_UNORM; case DRM_FORMAT_ARGB2101010: return PIPE_FORMAT_B10G10R10A2_UNORM; case DRM_FORMAT_XBGR2101010: return PIPE_FORMAT_R10G10B10X2_UNORM;