blob: 52ab5999d22624d86904750cd08f3ebf3a6cb350 [file] [log] [blame]
From f70c50b643c7edac04d25eb89bb847eb27ed89d5 Mon Sep 17 00:00:00 2001
From: Rob Clark <robdclark@chromium.org>
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 <robdclark@chromium.org>
Acked-by: Eric Anholt <eric@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8452>
---
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;
--
2.32.0.402.g57bb445576-goog