On 05/12/2017 09:13 AM, Chih-Wei Huang wrote:
2017-05-12 13:37 GMT+08:00 Tapani Pälli <tapani.pa...@intel.com>:
this patch is a partial revert of 1ce5853 that break compilation
since LOG_ERROR etc are not defined and also macro expansion won't
work as planned (expands to 'ANDROID_egl2alog[level]')
Fixes: 1ce5853 ("egl: simplify the Android logger")
Signed-off-by: Tapani Pälli <tapani.pa...@intel.com>
---
src/egl/main/egllog.c | 21 ++++++++++++++-------
1 file changed, 14 insertions(+), 7 deletions(-)
diff --git a/src/egl/main/egllog.c b/src/egl/main/egllog.c
index 6de2a50..51ab76f 100644
--- a/src/egl/main/egllog.c
+++ b/src/egl/main/egllog.c
@@ -81,13 +81,20 @@ static void
_eglDefaultLogger(EGLint level, const char *msg)
{
#ifdef HAVE_ANDROID_PLATFORM
- static const int egl2alog[] = {
- [_EGL_FATAL] = LOG_ERROR,
- [_EGL_WARNING] = LOG_WARN,
- [_EGL_INFO] = LOG_INFO,
- [_EGL_DEBUG] = LOG_DEBUG,
How about just change LOG_* to ANDROID_LOG_* ?
You also need to include "android/log.h".
LOG_* are not real macros defined in Android headers.
They are concatenated to ANDROID_LOG_*
defined in android/log.h. (in system/core/include/)
problem is that ALOG stringifies (is that a word?) the first argument
and concats that with 'ANDROID_', so currently you get
'ANDROID_egl2alog[level]' which does not exist. With ANDROID applied,
you would get 'ANDROID_ANDROID ..'
- };
- ALOG(egl2alog[level], LOG_TAG, "%s", msg);
+ switch (level) {
+ case _EGL_FATAL:
+ ALOGE("%s", msg);
+ break;
+ case _EGL_WARNING:
+ ALOGW("%s", msg);
+ break;
+ case _EGL_INFO:
+ ALOGI("%s", msg);
+ break;
+ case _EGL_DEBUG:
+ ALOGD("%s", msg);
+ break;
+ }
#else
fprintf(stderr, "libEGL %s: %s\n", level_strings[level], msg);
#endif /* HAVE_ANDROID_PLATFORM */
--
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev