From d308f57fe796a39d7d3f547aad62540cfd520675 Mon Sep 17 00:00:00 2001 From: Anuj Phogat Date: Wed, 18 Jun 2014 17:35:18 -0700 Subject: [PATCH] egl: Fix OpenGL ES version checks in _eglParseContextAttribList() MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit We would generate EGL_BAD_CONFIG because _eglGetContextAPIBit returns zero for the combination of EGL_OPENGL_ES_API and a major version > 3. By just returning zero, the caller can't tell the difference between a bad version (which should generate EGL_BAD_MATCH) and a bad API (which should generate EGL_BAD_CONFIG). This patch causes us to filter out major versions > 3 at a point where we can generate the correct error. Fixes gles3 Khronos CTS test: egl_create_context.egl_create_context V2: Fix commit message as suggested by Ian. Cc: Signed-off-by: Anuj Phogat Reviewed-by: Tapani Pälli Reviewed-by: Ian Romanick --- src/egl/main/eglcontext.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/egl/main/eglcontext.c b/src/egl/main/eglcontext.c index 70277ab9db6..514b91aeef2 100644 --- a/src/egl/main/eglcontext.c +++ b/src/egl/main/eglcontext.c @@ -322,11 +322,14 @@ _eglParseContextAttribList(_EGLContext *ctx, _EGLDisplay *dpy, break; case 3: - default: /* Don't put additional version checks here. We don't know that * there won't be versions > 3.0. */ break; + + default: + err = EGL_BAD_MATCH; + break; } } -- 2.30.2