[Mesa-dev] [PATCH 1/2] egl: fix type mismatch error type in _eglInitSurface

Eric Engestrom eric.engestrom at imgtec.com
Thu Oct 20 14:29:14 UTC 2016


On Thursday, 2016-10-20 14:55:24 +0300, Tapani Pälli wrote:
> EGL spec defines EGL_BAD_MATCH for windows, pixmaps and pbuffers in
> case where user creates a surface but config does not support rendering
> to such surface type.
> 
> Following quotes are from EGL 1.5 spec 3.5 "Rendering Surfaces" :
> 
> for eglCreatePlatformWindowSurface, eglCreateWindowSurface:
> 
>    "If config does not support rendering to windows (the EGL_SURFACE_TYPE
>    attribute does not contain EGL_WINDOW_BIT ), an EGL_BAD_MATCH error is
>    generated."
> 
> for eglCreatePbufferSurface:
> 
>    "If config does not support pbuffers, an EGL_BAD_MATCH error is
>    generated."
> 
> for eglCreatePlatformPixmapSurface, eglCreatePixmapSurface:
> 
>    "If config does not support rendering to pixmaps (the EGL_SURFACE_TYPE
>    attribute does not contain EGL_PIXMAP_BIT ), an EGL_BAD_MATCH error is
>    generated."
> 
> Fixes following dEQP test:
> 
>    dEQP-EGL.functional.negative_api.create_pbuffer_surface
> 
> Signed-off-by: Tapani Pälli <tapani.palli at intel.com>

Reviewed-by: Eric Engestrom <eric.engestrom at imgtec.com>

> ---
>  src/egl/main/eglsurface.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/src/egl/main/eglsurface.c b/src/egl/main/eglsurface.c
> index 231a5f0..eb0bdfe 100644
> --- a/src/egl/main/eglsurface.c
> +++ b/src/egl/main/eglsurface.c
> @@ -284,7 +284,7 @@ _eglInitSurface(_EGLSurface *surf, _EGLDisplay *dpy, EGLint type,
>  
>     if ((conf->SurfaceType & type) == 0) {
>        /* The config can't be used to create a surface of this type */
> -      _eglError(EGL_BAD_CONFIG, func);
> +      _eglError(EGL_BAD_MATCH, func);
>        return EGL_FALSE;
>     }
>  
> -- 
> 2.7.4


More information about the mesa-dev mailing list