From: Adam Jackson Date: Fri, 9 Sep 2016 16:25:33 +0000 (-0400) Subject: egl: QueryContext on a configless context returns zero X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=cc45a5c30872e2070aae6a79dbe0e2bcf7404917;p=mesa.git egl: QueryContext on a configless context returns zero MESA_configless_context does not specify the interaction with QueryContext at all, and the code to generate an error in this case predates the Mesa extension. Since EGL_NO_CONFIG_{KHR,MESA} are numerically identical there's no way to distinguish which one the application asked for, so use the KHR behaviour. Reviewed-by: Kristian Høgsberg Reviewed-by: Eric Anholt Signed-off-by: Adam Jackson --- diff --git a/src/egl/main/eglcontext.c b/src/egl/main/eglcontext.c index 58740c31f9f..7eac79ac952 100644 --- a/src/egl/main/eglcontext.c +++ b/src/egl/main/eglcontext.c @@ -538,9 +538,14 @@ _eglQueryContext(_EGLDriver *drv, _EGLDisplay *dpy, _EGLContext *c, switch (attribute) { case EGL_CONFIG_ID: - if (!c->Config) - return _eglError(EGL_BAD_ATTRIBUTE, "eglQueryContext"); - *value = c->Config->ConfigID; + /* + * From EGL_KHR_no_config_context: + * + * "Querying EGL_CONFIG_ID returns the ID of the EGLConfig with + * respect to which the context was created, or zero if created + * without respect to an EGLConfig." + */ + *value = c->Config ? c->Config->ConfigID : 0; break; case EGL_CONTEXT_CLIENT_VERSION: *value = c->ClientMajorVersion;