summaryrefslogtreecommitdiffstats
path: root/opengl/libs/GLES2/gl2.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'opengl/libs/GLES2/gl2.cpp')
-rw-r--r--opengl/libs/GLES2/gl2.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/opengl/libs/GLES2/gl2.cpp b/opengl/libs/GLES2/gl2.cpp
index b00af1b..9e52298 100644
--- a/opengl/libs/GLES2/gl2.cpp
+++ b/opengl/libs/GLES2/gl2.cpp
@@ -29,6 +29,8 @@
#define ATRACE_TAG ATRACE_TAG_GRAPHICS
#include <utils/Trace.h>
+#include <utils/CallStack.h>
+
#include "hooks.h"
#include "egl_impl.h"
@@ -43,9 +45,10 @@ using namespace android;
#undef CALL_GL_API_RETURN
#define DEBUG_CALL_GL_API 0
+#define DEBUG_PRINT_CALL_STACK_ON_ERROR 0
#define SYSTRACE_CALL_GL_API 0
-#if USE_FAST_TLS_KEY
+#if USE_FAST_TLS_KEY___
#ifdef HAVE_ARM_TLS_REGISTER
#define GET_TLS(reg) \
@@ -86,8 +89,15 @@ using namespace android;
gl_hooks_t::gl_t const * const _c = &getGlThreadSpecific()->gl; \
_c->_api(__VA_ARGS__); \
GLenum status = GL_NO_ERROR; \
+ bool error = false; \
while ((status = glGetError()) != GL_NO_ERROR) { \
ALOGD("[" #_api "] 0x%x", status); \
+ error = true; \
+ } \
+ if (DEBUG_PRINT_CALL_STACK_ON_ERROR && error) { \
+ CallStack s; \
+ s.update(); \
+ s.dump("glGetError:" #_api); \
}
#elif SYSTRACE_CALL_GL_API