Mesa (master): egl: Log (debug) native platform type

Benjamin Franzke bnf at kemper.freedesktop.org
Mon Aug 15 07:47:41 UTC 2011


Module: Mesa
Branch: master
Commit: 2e71c7d4ffa439dace639bd9c66174544dcd02d7
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2e71c7d4ffa439dace639bd9c66174544dcd02d7

Author: Benjamin Franzke <benjaminfranzke at googlemail.com>
Date:   Tue Aug  9 16:16:33 2011 +0200

egl: Log (debug) native platform type

Reviewed-by: Kristian Høgsberg <krh at bitplanet.net>

---

 src/egl/main/egldisplay.c |   37 +++++++++++++++++++++++++------------
 1 files changed, 25 insertions(+), 12 deletions(-)

diff --git a/src/egl/main/egldisplay.c b/src/egl/main/egldisplay.c
index 2849dd9..512ad50 100644
--- a/src/egl/main/egldisplay.c
+++ b/src/egl/main/egldisplay.c
@@ -62,22 +62,26 @@
 
 
 /**
+ * Map --with-egl-platforms names to platform types.
+ */
+static const struct {
+   _EGLPlatformType platform;
+   const char *name;
+} egl_platforms[_EGL_NUM_PLATFORMS] = {
+   { _EGL_PLATFORM_WINDOWS, "gdi" },
+   { _EGL_PLATFORM_X11, "x11" },
+   { _EGL_PLATFORM_WAYLAND, "wayland" },
+   { _EGL_PLATFORM_DRM, "drm" },
+   { _EGL_PLATFORM_FBDEV, "fbdev" }
+};
+
+
+/**
  * Return the native platform by parsing EGL_PLATFORM.
  */
 static _EGLPlatformType
 _eglGetNativePlatformFromEnv(void)
 {
-   /* map --with-egl-platforms names to platform types */
-   static const struct {
-      _EGLPlatformType platform;
-      const char *name;
-   } egl_platforms[_EGL_NUM_PLATFORMS] = {
-      { _EGL_PLATFORM_WINDOWS, "gdi" },
-      { _EGL_PLATFORM_X11, "x11" },
-      { _EGL_PLATFORM_WAYLAND, "wayland" },
-      { _EGL_PLATFORM_DRM, "drm" },
-      { _EGL_PLATFORM_FBDEV, "fbdev" }
-   };
    _EGLPlatformType plat = _EGL_INVALID_PLATFORM;
    const char *plat_name;
    EGLint i;
@@ -181,16 +185,25 @@ _EGLPlatformType
 _eglGetNativePlatform(EGLNativeDisplayType nativeDisplay)
 {
    static _EGLPlatformType native_platform = _EGL_INVALID_PLATFORM;
+   char *detection_method = NULL;
 
    if (native_platform == _EGL_INVALID_PLATFORM) {
       native_platform = _eglGetNativePlatformFromEnv();
+      detection_method = "environment overwrite";
       if (native_platform == _EGL_INVALID_PLATFORM) {
          native_platform = _eglNativePlatformDetectNativeDisplay(nativeDisplay);
-         if (native_platform == _EGL_INVALID_PLATFORM)
+         detection_method = "autodetected";
+         if (native_platform == _EGL_INVALID_PLATFORM) {
             native_platform = _EGL_NATIVE_PLATFORM;
+            detection_method = "build-time configuration";
+         }
       }
    }
 
+   if (detection_method != NULL)
+      _eglLog(_EGL_DEBUG, "Native platform type: %s (%s)",
+              egl_platforms[native_platform].name, detection_method);
+
    return native_platform;
 }
 




More information about the mesa-commit mailing list