Mesa (master): frontend/dri: Expose RGB[AX]_SRGB as well

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Jan 14 23:22:48 UTC 2021


Module: Mesa
Branch: master
Commit: f70c50b643c7edac04d25eb89bb847eb27ed89d5
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f70c50b643c7edac04d25eb89bb847eb27ed89d5

Author: Rob Clark <robdclark at chromium.org>
Date:   Mon Jan 11 16:12:10 2021 -0800

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 at chromium.org>
Acked-by: Eric Anholt <eric at 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;



More information about the mesa-commit mailing list