From: Tapani Pälli Date: Thu, 20 Oct 2016 10:51:40 +0000 (+0300) Subject: egl: fix type mismatch error type in _eglInitSurface X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=282b87dd03317ff39eb409b0ac2cbdc17d7e5aa3;p=mesa.git egl: fix type mismatch error type in _eglInitSurface 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 Reviewed-by: Eric Engestrom --- diff --git a/src/egl/main/eglsurface.c b/src/egl/main/eglsurface.c index 231a5f01435..eb0bdfeca28 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; }