diff options
author | Adam Jackson <[email protected]> | 2016-09-09 12:25:33 -0400 |
---|---|---|
committer | Adam Jackson <[email protected]> | 2016-09-12 11:28:38 -0400 |
commit | cc45a5c30872e2070aae6a79dbe0e2bcf7404917 (patch) | |
tree | deee3fae4a2f6838dd79ed79c7f1683724602487 | |
parent | e5009b7c2638e1fe10443ae2efafaa3a4e7f19c7 (diff) |
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 <[email protected]>
Reviewed-by: Eric Anholt <[email protected]>
Signed-off-by: Adam Jackson <[email protected]>
-rw-r--r-- | src/egl/main/eglcontext.c | 11 |
1 files changed, 8 insertions, 3 deletions
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; |