From 12c4bdad7b2372ab64dcd2abbdbe47e709fb8b90 Mon Sep 17 00:00:00 2001 From: Michael Lentine Date: Thu, 11 Sep 2014 12:24:13 -0700 Subject: [PATCH] Add rate-limited logging for unimplemented es functions. Bug: 17322013 Change-Id: I7aa5ab2f76cf344cfb75802edbfd44e8e7526ff1 --- opengl/libs/EGL/egl.cpp | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/opengl/libs/EGL/egl.cpp b/opengl/libs/EGL/egl.cpp index 67fbae5dd..7c70fa03a 100644 --- a/opengl/libs/EGL/egl.cpp +++ b/opengl/libs/EGL/egl.cpp @@ -330,12 +330,26 @@ EGLBoolean egl_init_drivers() { return res; } +static pthread_mutex_t sLogPrintMutex = PTHREAD_MUTEX_INITIALIZER; +static nsecs_t sLogPrintTime = 0; +#define NSECS_DURATION 1000000000 + void gl_unimplemented() { - ALOGE("called unimplemented OpenGL ES API"); - char value[PROPERTY_VALUE_MAX]; - property_get("debug.egl.callstack", value, "0"); - if (atoi(value)) { - CallStack stack(LOG_TAG); + bool printLog = false; + nsecs_t now = systemTime(); + pthread_mutex_lock(&sLogPrintMutex); + if ((now - sLogPrintTime) > NSECS_DURATION) { + sLogPrintTime = now; + printLog = true; + } + pthread_mutex_unlock(&sLogPrintMutex); + if (printLog) { + ALOGE("called unimplemented OpenGL ES API"); + char value[PROPERTY_VALUE_MAX]; + property_get("debug.egl.callstack", value, "0"); + if (atoi(value)) { + CallStack stack(LOG_TAG); + } } }