/** * This is typically the first EGL function that an application calls. * It associates a private _EGLDisplay object to the native display. */ EGLDisplay EGLAPIENTRY eglGetDisplay(EGLNativeDisplayType nativeDisplay) { _EGLPlatformType plat = _eglGetNativePlatform(nativeDisplay); _EGLDisplay *dpy = _eglFindDisplay(plat, (void *) nativeDisplay); return _eglGetDisplayHandle(dpy); }
_EGLDisplay* _eglGetX11Display(Display *native_display, const EGLint *attrib_list) { if (!_eglParseX11DisplayAttribList(attrib_list)) { return NULL; } return _eglFindDisplay(_EGL_PLATFORM_X11, native_display); }
_EGLDisplay* _eglGetWaylandDisplay(struct wl_display *native_display, const EGLint *attrib_list) { /* EGL_EXT_platform_wayland recognizes no attributes. */ if (attrib_list != NULL && attrib_list[0] != EGL_NONE) { _eglError(EGL_BAD_ATTRIBUTE, "eglGetPlatformDisplay"); return NULL; } return _eglFindDisplay(_EGL_PLATFORM_WAYLAND, native_display); }
_EGLDisplay* _eglGetGbmDisplay(struct gbm_device *native_display, const EGLint *attrib_list) { /* EGL_MESA_platform_gbm recognizes no attributes. */ if (attrib_list != NULL && attrib_list[0] != EGL_NONE) { _eglError(EGL_BAD_ATTRIBUTE, "eglGetPlatformDisplay"); return NULL; } return _eglFindDisplay(_EGL_PLATFORM_DRM, native_display); }
EGLDisplay EGLAPIENTRY eglGetDRMDisplayMESA(int fd) { _EGLDisplay *dpy = _eglFindDisplay(_EGL_PLATFORM_DRM, (void *) (intptr_t) fd); return _eglGetDisplayHandle(dpy); }