EGLBoolean _eglQueryContext(_EGLDriver *drv, _EGLDisplay *dpy, _EGLContext *c, EGLint attribute, EGLint *value) { (void) drv; (void) dpy; if (!value) return _eglError(EGL_BAD_PARAMETER, "eglQueryContext"); switch (attribute) { case EGL_CONFIG_ID: if (!c->Config) return _eglError(EGL_BAD_ATTRIBUTE, "eglQueryContext"); *value = c->Config->ConfigID; break; case EGL_CONTEXT_CLIENT_VERSION: *value = c->ClientMajorVersion; break; case EGL_CONTEXT_CLIENT_TYPE: *value = c->ClientAPI; break; case EGL_RENDER_BUFFER: *value = _eglQueryContextRenderBuffer(c); break; default: return _eglError(EGL_BAD_ATTRIBUTE, "eglQueryContext"); } return EGL_TRUE; }
EGLBoolean _eglQueryContext(_EGLDriver *drv, _EGLDisplay *dpy, _EGLContext *c, EGLint attribute, EGLint *value) { (void) drv; (void) dpy; if (!value) return _eglError(EGL_BAD_PARAMETER, "eglQueryContext"); switch (attribute) { case EGL_CONFIG_ID: /* * 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; break; case EGL_CONTEXT_CLIENT_TYPE: *value = c->ClientAPI; break; case EGL_RENDER_BUFFER: *value = _eglQueryContextRenderBuffer(c); break; case EGL_CONTEXT_PRIORITY_LEVEL_IMG: *value = c->ContextPriority; break; default: return _eglError(EGL_BAD_ATTRIBUTE, "eglQueryContext"); } return EGL_TRUE; }