DECLEXPORT(EGLDisplay) eglGetDisplay(EGLNativeDisplayType hDisplay) { Display *pDisplay; if (!testValidDisplay(hDisplay)) return EGL_NO_DISPLAY; if (!clearEGLError()) /* Set up our tls. */ return EGL_NO_DISPLAY; if (hDisplay != EGL_DEFAULT_DISPLAY) pDisplay = hDisplay; else { pthread_once(&g_defaultDisplayOnce, defaultDisplayInitOnce); pDisplay = g_pDefaultDisplay; } if (pDisplay && !strcmp(glXGetClientString(pDisplay, GLX_VENDOR), "Chromium")) return (EGLDisplay) pDisplay; return EGL_NO_DISPLAY; }
DECLEXPORT(EGLDisplay) eglGetDisplay(EGLNativeDisplayType hDisplay) { Display *pDisplay; int cError, cEvent, cMajor, cMinor; if (!testValidDisplay(hDisplay)) return EGL_NO_DISPLAY; if (!clearEGLError()) /* Set up our tls. */ return EGL_NO_DISPLAY; if (hDisplay != EGL_DEFAULT_DISPLAY) pDisplay = hDisplay; else { pthread_once(&g_defaultDisplayOnce, defaultDisplayInitOnce); pDisplay = g_pDefaultDisplay; } if (pDisplay && glXQueryExtension(pDisplay, &cError, &cEvent)) if (glXQueryVersion(pDisplay, &cMajor, &cMinor)) if (cMajor > 1 || (cMajor == 1 && cMinor >= 3)) return (EGLDisplay) pDisplay; return EGL_NO_DISPLAY; }