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