diff --git a/opengl/libs/GLES2/gl2.cpp b/opengl/libs/GLES2/gl2.cpp index b00af1b1a..9e5229861 100644 --- a/opengl/libs/GLES2/gl2.cpp +++ b/opengl/libs/GLES2/gl2.cpp @@ -29,6 +29,8 @@ #define ATRACE_TAG ATRACE_TAG_GRAPHICS #include +#include + #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