| From 74fc63f3de42aa3583928b995652398796f8b7bb 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/state_trackers/dri/dri_screen.c | 8 ++++++++ |
| src/mesa/drivers/dri/common/utils.c | 1 + |
| 2 files changed, 9 insertions(+) |
| |
| diff --git a/src/gallium/state_trackers/dri/dri_screen.c b/src/gallium/state_trackers/dri/dri_screen.c |
| index 82a0988a634..00b715200d2 100644 |
| --- a/src/gallium/state_trackers/dri/dri_screen.c |
| +++ b/src/gallium/state_trackers/dri/dri_screen.c |
| @@ -142,6 +142,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, |
| @@ -155,6 +161,8 @@ dri_fill_in_modes(struct dri_screen *screen) |
| PIPE_FORMAT_B5G6R5_UNORM, |
| 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 f9a4acefed1..950c94bfd77 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.31.0 |
| |