On Mon, Mar 2, 2015 at 9:23 AM, Tom Stellard <thomas.stell...@amd.com> wrote: > From: Daniel Stone <dani...@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-sta...@lists.freedesktop.org> > --- > > 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 mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev