return EGL_FALSE;
switch (disp->Platform) {
-#ifdef HAVE_SURFACELESS_PLATFORM
case _EGL_PLATFORM_SURFACELESS:
ret = dri2_initialize_surfaceless(drv, disp);
break;
-#endif
-#ifdef HAVE_X11_PLATFORM
case _EGL_PLATFORM_X11:
ret = dri2_initialize_x11(drv, disp);
break;
-#endif
-#ifdef HAVE_DRM_PLATFORM
case _EGL_PLATFORM_DRM:
ret = dri2_initialize_drm(drv, disp);
break;
-#endif
-#ifdef HAVE_WAYLAND_PLATFORM
case _EGL_PLATFORM_WAYLAND:
ret = dri2_initialize_wayland(drv, disp);
break;
-#endif
-#ifdef HAVE_ANDROID_PLATFORM
case _EGL_PLATFORM_ANDROID:
ret = dri2_initialize_android(drv, disp);
break;
-#endif
default:
- _eglLog(_EGL_WARNING, "No EGL platform enabled.");
+ unreachable("Callers ensure we cannot get here.");
return EGL_FALSE;
}
dri2_create_image_dma_buf(_EGLDisplay *disp, _EGLContext *ctx,
EGLClientBuffer buffer, const EGLint *attr_list);
+#ifdef HAVE_X11_PLATFORM
EGLBoolean
dri2_initialize_x11(_EGLDriver *drv, _EGLDisplay *disp);
+#else
+static inline EGLBoolean
+dri2_initialize_x11(_EGLDriver *drv, _EGLDisplay *disp)
+{
+ return _eglError(EGL_NOT_INITIALIZED, "X11 platform not built");
+}
+#endif
+#ifdef HAVE_DRM_PLATFORM
EGLBoolean
dri2_initialize_drm(_EGLDriver *drv, _EGLDisplay *disp);
+#else
+static inline EGLBoolean
+dri2_initialize_drm(_EGLDriver *drv, _EGLDisplay *disp)
+{
+ return _eglError(EGL_NOT_INITIALIZED, "GBM/DRM platform not built");
+}
+#endif
+#ifdef HAVE_WAYLAND_PLATFORM
EGLBoolean
dri2_initialize_wayland(_EGLDriver *drv, _EGLDisplay *disp);
+#else
+static inline EGLBoolean
+dri2_initialize_wayland(_EGLDriver *drv, _EGLDisplay *disp)
+{
+ return _eglError(EGL_NOT_INITIALIZED, "Wayland platform not built");
+}
+#endif
+#ifdef HAVE_ANDROID_PLATFORM
EGLBoolean
dri2_initialize_android(_EGLDriver *drv, _EGLDisplay *disp);
+#else
+static inline EGLBoolean
+dri2_initialize_android(_EGLDriver *drv, _EGLDisplay *disp)
+{
+ return _eglError(EGL_NOT_INITIALIZED, "Android platform not built");
+}
+#endif
+#ifdef HAVE_SURFACELESS_PLATFORM
EGLBoolean
dri2_initialize_surfaceless(_EGLDriver *drv, _EGLDisplay *disp);
+#else
+static inline EGLBoolean
+dri2_initialize_surfaceless(_EGLDriver *drv, _EGLDisplay *disp)
+{
+ return _eglError(EGL_NOT_INITIALIZED, "Surfaceless platform not built");
+}
+#endif
void
dri2_flush_drawable_for_swapbuffers(_EGLDisplay *disp, _EGLSurface *draw);