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: 20b3400701 ("dril: rework config creation")
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35726>
This commit is contained in:
Timothy Arceri 2025-06-25 12:43:20 +10:00 committed by Marge Bot
parent e446c05a49
commit b03cd283d5

View file

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