[Mesa-stable] [Mesa-dev] [PATCH] egl: Report correct GBM formats
Alex Deucher
alexdeucher at gmail.com
Tue Mar 3 07:34:46 PST 2015
On Mon, Mar 2, 2015 at 9:23 AM, Tom Stellard <thomas.stellard at amd.com> wrote:
> From: Daniel Stone <daniels at collabora.com>
>
> This fixes almost all piglit regressions when running with
> PIGLIT_PLATFORM=gbm
>
> Tom Stellard:
> - Fix ARGB2101010 format
>
> Cc: "10.4 10.5" <mesa-stable at lists.freedesktop.org>
Looks reasonable to me.
Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
> ---
>
> I'm not sure if the commit message makes sense, I'm open to suggestions.
>
> 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
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-stable
mailing list