Mesa (master): egl: stop claiming support for pbuffer + msaa

Tapani Pälli tpalli at kemper.freedesktop.org
Mon Oct 3 05:49:12 UTC 2016


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

Author: Tapani Pälli <tapani.palli at intel.com>
Date:   Mon Sep 26 10:03:32 2016 +0300

egl: stop claiming support for pbuffer + msaa

This fixes a crash in egl-create-msaa-pbuffer-surface Piglit test
and same crash in many dEQP EGL tests.

I also found that some Qt example did a workaround because of this
crash: https://bugreports.qt.io/browse/QTBUG-47509

v2: Ian pointed out that v1 removed support for all multisample
    configs, including window ones. This one removes pbuffer bit
    when adding configs, now only pbuffer+msaa gets rejected and
    window+msaa continues to work. Fixed also comment (Emil)

Signed-off-by: Tapani Pälli <tapani.palli at intel.com>
Cc: mesa-stable at lists.freedesktop.org
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Reviewed-by: Emil Velikov <emil.velikov at collabora.com>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

---

 src/egl/drivers/dri2/egl_dri2.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c
index 8e376e3..803627d 100644
--- a/src/egl/drivers/dri2/egl_dri2.c
+++ b/src/egl/drivers/dri2/egl_dri2.c
@@ -320,6 +320,15 @@ dri2_add_config(_EGLDisplay *disp, const __DRIconfig *dri_config, int id,
       surface_type &= ~EGL_PIXMAP_BIT;
    }
 
+   /* No support for pbuffer + MSAA for now.
+    *
+    * XXX TODO: pbuffer + MSAA does not work and causes crashes.
+    * See QT bugreport: https://bugreports.qt.io/browse/QTBUG-47509
+    */
+   if (base.Samples) {
+      surface_type &= ~EGL_PBUFFER_BIT;
+   }
+
    conf->base.SurfaceType |= surface_type;
 
    return conf;




More information about the mesa-commit mailing list