On 09/28/2016 12:19 AM, Ian Romanick wrote:
On 09/26/2016 12:41 AM, Tapani Pälli wrote:
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
Eh... I would have to double-check, but I thought each config had a set
of bits that described the kinds of surfaces (window, pixmap, or
pbuffer) it could be used with.  I know this is how GLX works.  Assuming
that's the case, the correct fix is to never set the the pbuffer bit for
configs that have multisample.

If I'm reading this patch correctly, it looks like it will remove those
configs completely.  We still want to have multisample windows.  Am I
understanding this correctly?

Ah that's right, with this multisampled configs get disabled as most (if not all?) have both window and pbuffer bits set. As you said this needs to be done by removing pbuffer bit from msaa configs somewhere else. I'll make another patch, thanks!

Signed-off-by: Tapani Pälli <tapani.pa...@intel.com>
---

This is RFC as I'm not sure if we are supposed to support this. I tried
to verify overall pbuffer situation with some mesa-demos using pbuffer
but those are not working for me at all with or without my patch.

  src/egl/main/eglconfig.c | 5 +++++
  1 file changed, 5 insertions(+)

diff --git a/src/egl/main/eglconfig.c b/src/egl/main/eglconfig.c
index 6161d26..20cf9d4 100644
--- a/src/egl/main/eglconfig.c
+++ b/src/egl/main/eglconfig.c
@@ -407,6 +407,11 @@ _eglValidateConfig(const _EGLConfig *conf, EGLBoolean 
for_matching)
        return EGL_FALSE;
     }
+ /* pbuffer with MSAA not supported */
+   if (conf->SurfaceType & EGL_PBUFFER_BIT && conf->Samples) {
+      return EGL_FALSE;
+   }
+
     if (!(conf->SurfaceType & EGL_WINDOW_BIT)) {
        if (conf->NativeVisualID != 0 || conf->NativeVisualType != EGL_NONE)
           valid = EGL_FALSE;


_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to