[Mesa-dev] [PATCH 2/7] egl: fold Android logger into main/
Emil Velikov
emil.l.velikov at gmail.com
Fri May 5 12:49:22 UTC 2017
On 4 May 2017 at 20:17, Rob Herring <robh at kernel.org> wrote:
> On Thu, May 4, 2017 at 1:46 PM, Emil Velikov <emil.l.velikov at gmail.com> wrote:
>> From: Emil Velikov <emil.velikov at collabora.com>
>>
>> Will allow us to greatly simplify a lot of the code in egllog.c
>
> Okay, because on its own, this is not an improvement.
>
>>
>> Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
>> ---
>> src/egl/drivers/dri2/egl_dri2.h | 1 -
>> src/egl/drivers/dri2/platform_android.c | 34 -------------------------------
>> src/egl/main/egllog.c | 36 +++++++++++++++++++++++++++++++++
>> 3 files changed, 36 insertions(+), 35 deletions(-)
>>
>> diff --git a/src/egl/drivers/dri2/egl_dri2.h b/src/egl/drivers/dri2/egl_dri2.h
>> index f16663712d3..b1e224248cc 100644
>> --- a/src/egl/drivers/dri2/egl_dri2.h
>> +++ b/src/egl/drivers/dri2/egl_dri2.h
>> @@ -59,7 +59,6 @@
>> #include <system/window.h>
>> #include <hardware/gralloc.h>
>> #include <gralloc_drm_handle.h>
>> -#include <cutils/log.h>
>>
>> #endif /* HAVE_ANDROID_PLATFORM */
>>
>> diff --git a/src/egl/drivers/dri2/platform_android.c b/src/egl/drivers/dri2/platform_android.c
>> index 35f2e5dbe63..e962e8e00dd 100644
>> --- a/src/egl/drivers/dri2/platform_android.c
>> +++ b/src/egl/drivers/dri2/platform_android.c
>> @@ -1030,38 +1030,6 @@ droid_open_device(struct dri2_egl_display *dri2_dpy)
>> return (fd >= 0) ? fcntl(fd, F_DUPFD_CLOEXEC, 3) : -1;
>> }
>>
>> -/* support versions < JellyBean */
>> -#ifndef ALOGW
>> -#define ALOGW LOGW
>> -#endif
>> -#ifndef ALOGD
>> -#define ALOGD LOGD
>> -#endif
>> -#ifndef ALOGI
>> -#define ALOGI LOGI
>> -#endif
>> -
>> -static void
>> -droid_log(EGLint level, const char *msg)
>> -{
>> - 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 struct dri2_egl_display_vtbl droid_display_vtbl = {
>> .authenticate = NULL,
>> .create_window_surface = droid_create_window_surface,
>> @@ -1118,8 +1086,6 @@ dri2_initialize_android(_EGLDriver *drv, _EGLDisplay *dpy)
>> const char *err;
>> int ret;
>>
>> - _eglSetLogProc(droid_log);
>> -
>> loader_set_logger(_eglLog);
>>
>> dri2_dpy = calloc(1, sizeof(*dri2_dpy));
>> diff --git a/src/egl/main/egllog.c b/src/egl/main/egllog.c
>> index c8307482902..9d7e9302341 100644
>> --- a/src/egl/main/egllog.c
>> +++ b/src/egl/main/egllog.c
>> @@ -44,6 +44,23 @@
>>
>> #include "egllog.h"
>>
>> +#ifdef HAVE_ANDROID_PLATFORM
>> +#define LOG_TAG "EGL-MAIN"
>> +#include <cutils/log.h>
>> +
>> +/* support versions < JellyBean */
>
> < JellyBean support is long gone, so these can be dropped.
>
We have a couple cases [i915 and i965], which we can drop as well right?
>> +#ifndef ALOGW
>> +#define ALOGW LOGW
>> +#endif
>> +#ifndef ALOGD
>> +#define ALOGD LOGD
>> +#endif
>> +#ifndef ALOGI
>> +#define ALOGI LOGI
>> +#endif
>> +
>> +#endif /* HAVE_ANDROID_PLATFORM */
>> +
>> #define MAXSTRING 1000
>> #define FALLBACK_LOG_LEVEL _EGL_WARNING
>>
>> @@ -107,7 +124,26 @@ _eglSetLogProc(_EGLLogProc logger)
>> 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;
>
> This could all be simplified with a LUT for the level:
>
> const int egl2alog[] = { LOG_ERROR, LOG_WARN, LOG_INFO, LOG_DEBUG };
> ALOG(egl2alog[level], LOG_TAG, "%s", msg);
>
> You loose the abort on fatal errors, but you don't have that in the
> !android case. It doesn't really gain you anything aborting.
>
We have a exit(1) in _eglLog, so things should be fine.
Thanks for the suggestions!
Emil
More information about the mesa-dev
mailing list