[Mesa-dev] [PATCH 2/2] i965: expose MESA_FORMAT_R8G8B8A8_SRGB visual

Tapani Pälli tapani.palli at intel.com
Thu Apr 5 17:59:31 UTC 2018


ping .. CC my favourite sRGB reviewer

On 19.03.2018 13:41, Tapani Pälli wrote:
> Exposing the visual makes following dEQP tests pass on Android:
> 
>     dEQP-EGL.functional.wide_color.window_8888_colorspace_srgb
>     dEQP-EGL.functional.wide_color.pbuffer_8888_colorspace_srgb
> 
> Visual is exposed only when DRI_LOADER_CAP_RGBA_ORDERING is set.
> 
> Signed-off-by: Tapani Pälli <tapani.palli at intel.com>
> ---
>   src/mesa/drivers/dri/i965/intel_screen.c | 10 +++++++---
>   1 file changed, 7 insertions(+), 3 deletions(-)
> 
> diff --git a/src/mesa/drivers/dri/i965/intel_screen.c b/src/mesa/drivers/dri/i965/intel_screen.c
> index dfb889221d..4d6829e1f0 100644
> --- a/src/mesa/drivers/dri/i965/intel_screen.c
> +++ b/src/mesa/drivers/dri/i965/intel_screen.c
> @@ -1255,12 +1255,14 @@ intel_query_dma_buf_formats(__DRIscreen *screen, int max,
>      int i, j = 0;
>   
>      if (max == 0) {
> -      *count = ARRAY_SIZE(intel_image_formats) - 1; /* not SARGB */
> +      /* Note, sRGB formats not included. */
> +      *count = ARRAY_SIZE(intel_image_formats) - 2;
>         return true;
>      }
>   
>      for (i = 0; i < (ARRAY_SIZE(intel_image_formats)) && j < max; i++) {
> -     if (intel_image_formats[i].fourcc == __DRI_IMAGE_FOURCC_SARGB8888)
> +     if (intel_image_formats[i].fourcc == __DRI_IMAGE_FOURCC_SARGB8888 ||
> +         intel_image_formats[i].fourcc == __DRI_IMAGE_FOURCC_SABGR8888)
>          continue;
>        formats[j++] = intel_image_formats[i].fourcc;
>      }
> @@ -2084,6 +2086,8 @@ intel_screen_make_configs(__DRIscreen *dri_screen)
>   
>         /* Required by Android, for HAL_PIXEL_FORMAT_RGBX_8888. */
>         MESA_FORMAT_R8G8B8X8_UNORM,
> +
> +      MESA_FORMAT_R8G8B8A8_SRGB,
>      };
>   
>      /* GLX_SWAP_COPY_OML is not supported due to page flipping. */
> @@ -2103,7 +2107,7 @@ intel_screen_make_configs(__DRIscreen *dri_screen)
>      if (intel_loader_get_cap(dri_screen, DRI_LOADER_CAP_RGBA_ORDERING))
>         num_formats = ARRAY_SIZE(formats);
>      else
> -      num_formats = ARRAY_SIZE(formats) - 2; /* all - RGBA_ORDERING formats */
> +      num_formats = ARRAY_SIZE(formats) - 3; /* all - RGBA_ORDERING formats */
>   
>      /* Shall we expose 10 bpc formats? */
>      bool allow_rgb10_configs = driQueryOptionb(&screen->optionCache,
> 


More information about the mesa-dev mailing list