egl: inline eglSwapInterval() fallback
[mesa.git] / src / egl / main / egllog.c
index bf0ee017b891ee31a82a53f249cc490ba4f813e0..6a91952577fd313e48eef710974b863efb5861d4 100644 (file)
 #include <strings.h>
 #include "c11/threads.h"
 #include "util/macros.h"
+#include "util/u_string.h"
 
 #include "egllog.h"
 
 #ifdef HAVE_ANDROID_PLATFORM
 #define LOG_TAG "EGL-MAIN"
+#if ANDROID_API_LEVEL >= 26
+#include <log/log.h>
+#else
 #include <cutils/log.h>
-
-/* support versions < JellyBean */
-#ifndef ALOGW
-#define ALOGW LOGW
-#endif
-#ifndef ALOGD
-#define ALOGD LOGD
-#endif
-#ifndef ALOGI
-#define ALOGI LOGI
-#endif
+#endif /* use log/log.h start from android 8 major version */
 
 #endif /* HAVE_ANDROID_PLATFORM */
 
@@ -92,22 +86,13 @@ static void
 _eglDefaultLogger(EGLint level, const char *msg)
 {
 #ifdef HAVE_ANDROID_PLATFORM
-   switch (level) {
-   case _EGL_DEBUG:
-      ALOGD("%s", msg);
-      break;
-   case _EGL_INFO:
-      ALOGI("%s", msg);
-      break;
-   case _EGL_WARNING:
-      ALOGW("%s", msg);
-      break;
-   case _EGL_FATAL:
-      LOG_FATAL("%s", msg);
-      break;
-   default:
-      break;
-   }
+   static const int egl2alog[] = {
+      [_EGL_FATAL] = ANDROID_LOG_ERROR,
+      [_EGL_WARNING]  = ANDROID_LOG_WARN,
+      [_EGL_INFO] = ANDROID_LOG_INFO,
+      [_EGL_DEBUG] = ANDROID_LOG_DEBUG,
+   };
+   LOG_PRI(egl2alog[level], LOG_TAG, "%s", msg);
 #else
    fprintf(stderr, "libEGL %s: %s\n", level_strings[level], msg);
 #endif /* HAVE_ANDROID_PLATFORM */