| author | Benjamin Franzke <benjaminfranzke@googlemail.com> | 2011-08-09 14:16:33 (GMT) |
|---|---|---|
| committer | Benjamin Franzke <benjaminfranzke@googlemail.com> | 2011-08-15 07:42:16 (GMT) |
| commit | 2e71c7d4ffa439dace639bd9c66174544dcd02d7 (patch) (side-by-side diff) | |
| tree | 2c3abb7a0c1e32db29b6df1164868bfe13f81008 | |
| parent | 85fe9484945cb57ffd49df248b0e5057eba6af04 (diff) | |
| download | mesa-2e71c7d4ffa439dace639bd9c66174544dcd02d7.zip mesa-2e71c7d4ffa439dace639bd9c66174544dcd02d7.tar.gz | |
egl: Log (debug) native platform type
Reviewed-by: Kristian Høgsberg <krh@bitplanet.net>
| -rw-r--r-- | 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; } |
