From f70c50b643c7edac04d25eb89bb847eb27ed89d5 Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Mon, 11 Jan 2021 16:12:10 -0800 Subject: [PATCH] frontend/dri: Expose RGB[AX]_SRGB as well platform_android prefers RGB[AX] over BGR[AX] to avoid buggyness with older android versions. But we need to include the corresponding SRGB formats as well. Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2888 Signed-off-by: Rob Clark Acked-by: Eric Anholt Part-of: --- src/gallium/frontends/dri/dri_screen.c | 8 ++++++++ src/mesa/drivers/dri/common/utils.c | 1 + 2 files changed, 9 insertions(+) diff --git a/src/gallium/frontends/dri/dri_screen.c b/src/gallium/frontends/dri/dri_screen.c index 20ee86f52b7..87b4f3f8533 100644 --- a/src/gallium/frontends/dri/dri_screen.c +++ b/src/gallium/frontends/dri/dri_screen.c @@ -163,6 +163,12 @@ dri_fill_in_modes(struct dri_screen *screen) /* Required by Android, for HAL_PIXEL_FORMAT_RGBX_8888. */ MESA_FORMAT_R8G8B8X8_UNORM, + + /* Required by Android, for HAL_PIXEL_FORMAT_RGBA_8888. */ + MESA_FORMAT_R8G8B8A8_SRGB, + + /* Required by Android, for HAL_PIXEL_FORMAT_RGBX_8888. */ + MESA_FORMAT_R8G8B8X8_SRGB, }; static const enum pipe_format pipe_formats[] = { PIPE_FORMAT_B10G10R10A2_UNORM, @@ -178,6 +184,8 @@ dri_fill_in_modes(struct dri_screen *screen) PIPE_FORMAT_R16G16B16X16_FLOAT, PIPE_FORMAT_RGBA8888_UNORM, PIPE_FORMAT_RGBX8888_UNORM, + PIPE_FORMAT_RGBA8888_SRGB, + PIPE_FORMAT_RGBX8888_SRGB, }; mesa_format format; __DRIconfig **configs = NULL; diff --git a/src/mesa/drivers/dri/common/utils.c b/src/mesa/drivers/dri/common/utils.c index 0fdca2d9d84..58671d6935a 100644 --- a/src/mesa/drivers/dri/common/utils.c +++ b/src/mesa/drivers/dri/common/utils.c @@ -255,6 +255,7 @@ driCreateConfigs(mesa_format format, shifts = format_table[5].shifts; break; case MESA_FORMAT_R8G8B8X8_UNORM: + case MESA_FORMAT_R8G8B8X8_SRGB: masks = format_table[6].masks; shifts = format_table[6].shifts; break;