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;
}
示例#2
0
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;
}