[Mesa-dev] [RFC] egl: stop claiming support for pbuffer + msaa (RFC)

Ian Romanick idr at freedesktop.org
Tue Sep 27 21:19:43 UTC 2016


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?

> 
> Signed-off-by: Tapani Pälli <tapani.palli at 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;
> 



More information about the mesa-dev mailing list