On Mon, Mar 2, 2015 at 9:23 AM, Tom Stellard <[email protected]> wrote:
> From: Daniel Stone <[email protected]>
>
> This fixes almost all piglit regressions when running with
> PIGLIT_PLATFORM=gbm
>
> Tom Stellard:
>   - Fix ARGB2101010 format
>
> Cc: "10.4 10.5" <[email protected]>
> ---
>
> I'm not sure if the commit message makes sense, I'm open to suggestions.

Yeah.... how about

"""
Take alpha bits into account when selecting GBM formats.
"""

Although maybe mentioning that it unbreaks piglit with gbm wouldn't be
so bad as well.

>
> src/egl/drivers/dri2/platform_drm.c | 16 +++++++++++-----
>  1 file changed, 11 insertions(+), 5 deletions(-)
>
> diff --git a/src/egl/drivers/dri2/platform_drm.c 
> b/src/egl/drivers/dri2/platform_drm.c
> index 02e87f7..bf205be 100644
> --- a/src/egl/drivers/dri2/platform_drm.c
> +++ b/src/egl/drivers/dri2/platform_drm.c
> @@ -668,15 +668,21 @@ dri2_initialize_drm(_EGLDriver *drv, _EGLDisplay *disp)
>
>     for (i = 0; dri2_dpy->driver_configs[i]; i++) {
>        EGLint format, attr_list[3];
> -      unsigned int mask;
> +      unsigned int red, alpha;
>
>        dri2_dpy->core->getConfigAttrib(dri2_dpy->driver_configs[i],
> -                                       __DRI_ATTRIB_RED_MASK, &mask);
> -      if (mask == 0x3ff00000)
> +                                       __DRI_ATTRIB_RED_MASK, &red);
> +      dri2_dpy->core->getConfigAttrib(dri2_dpy->driver_configs[i],
> +                                       __DRI_ATTRIB_ALPHA_MASK, &alpha);
> +      if (red == 0x3ff00000 && alpha == 0x00000000)
>           format = GBM_FORMAT_XRGB2101010;
> -      else if (mask == 0x00ff0000)
> +      else if (red == 0x3ff00000 && alpha == 0xc0000000)
> +         format = GBM_FORMAT_ARGB2101010;
> +      else if (red == 0x00ff0000 && alpha == 0x00000000)
>           format = GBM_FORMAT_XRGB8888;
> -      else if (mask == 0xf800)
> +      else if (red == 0x00ff0000 && alpha == 0xff000000)
> +         format = GBM_FORMAT_ARGB8888;
> +      else if (red == 0xf800)
>           format = GBM_FORMAT_RGB565;
>        else
>           continue;
> --
> 2.0.4
>
_______________________________________________
mesa-dev mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to