From: WuZhen <wuz...@jidemail.com> Redirect logs printed to stderr to logcat.
NO_REF_TASK tested: local run Change-Id: I58e3966a608af361b86c54b4c95a92561b711968 Signed-off-by: Chih-Wei Huang <cwhu...@linux.org.tw> --- src/gallium/auxiliary/os/os_misc.c | 12 ++++++++++-- src/gallium/auxiliary/util/u_debug.c | 2 +- src/gallium/targets/dri/Android.mk | 1 + src/mesa/main/errors.c | 12 ++++++++++++ 4 files changed, 24 insertions(+), 3 deletions(-) diff --git a/src/gallium/auxiliary/os/os_misc.c b/src/gallium/auxiliary/os/os_misc.c index d6b83e9..08c438e 100644 --- a/src/gallium/auxiliary/os/os_misc.c +++ b/src/gallium/auxiliary/os/os_misc.c @@ -46,8 +46,10 @@ #endif - -#if defined(PIPE_OS_LINUX) || defined(PIPE_OS_CYGWIN) || defined(PIPE_OS_SOLARIS) +#if defined(PIPE_OS_ANDROID) +# define LOG_TAG "gallium" +# include <log/log.h> +#elif defined(PIPE_OS_LINUX) || defined(PIPE_OS_CYGWIN) || defined(PIPE_OS_SOLARIS) # include <unistd.h> #elif defined(PIPE_OS_APPLE) || defined(PIPE_OS_BSD) # include <sys/sysctl.h> @@ -89,6 +91,12 @@ os_log_message(const char *message) fflush(fout); } #else /* !PIPE_SUBSYSTEM_WINDOWS */ +#if defined(PIPE_OS_ANDROID) + if (fout == stderr) { + ALOGD(message); + return; + } +#endif fflush(stdout); fputs(message, fout); fflush(fout); diff --git a/src/gallium/auxiliary/util/u_debug.c b/src/gallium/auxiliary/util/u_debug.c index db66357..12ceada 100644 --- a/src/gallium/auxiliary/util/u_debug.c +++ b/src/gallium/auxiliary/util/u_debug.c @@ -55,7 +55,7 @@ void _debug_vprintf(const char *format, va_list ap) { static char buf[4096] = {'\0'}; -#if defined(PIPE_OS_WINDOWS) || defined(PIPE_SUBSYSTEM_EMBEDDED) +#if defined(PIPE_OS_WINDOWS) || defined(PIPE_OS_ANDROID) || defined(PIPE_SUBSYSTEM_EMBEDDED) /* We buffer until we find a newline. */ size_t len = strlen(buf); int ret = util_vsnprintf(buf + len, sizeof(buf) - len, format, ap); diff --git a/src/gallium/targets/dri/Android.mk b/src/gallium/targets/dri/Android.mk index 03c3795..a14d449 100644 --- a/src/gallium/targets/dri/Android.mk +++ b/src/gallium/targets/dri/Android.mk @@ -46,6 +46,7 @@ LOCAL_CFLAGS := LOCAL_SHARED_LIBRARIES := \ libdl \ + liblog \ libglapi \ libexpat \ diff --git a/src/mesa/main/errors.c b/src/mesa/main/errors.c index 9932b4a..1bdd668 100644 --- a/src/mesa/main/errors.c +++ b/src/mesa/main/errors.c @@ -42,6 +42,10 @@ #include "util/hash_table.h" #include "util/simple_list.h" +#if defined(ANDROID) +# define LOG_TAG "mesa" +# include <log/log.h> +#endif static FILE *LogFile = NULL; @@ -87,6 +91,14 @@ output_if_debug(const char *prefixString, const char *outputString, fprintf(LogFile, "\n"); fflush(LogFile); +#if defined(ANDROID) + { + char buf[4096]; + _mesa_snprintf(buf, sizeof(buf), "%s: %s%s", prefixString, outputString, newline ? "\n" : ""); + ALOGD(buf); + } +#endif + #if defined(_WIN32) /* stderr from windows applications without console is not usually * visible, so communicate with the debugger instead */ -- 1.9.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev