diff options
author | Mathias Agopian <mathias@google.com> | 2009-10-08 15:58:11 -0700 |
---|---|---|
committer | Mathias Agopian <mathias@google.com> | 2009-10-08 15:58:11 -0700 |
commit | b96df8548ee80e581e6851d7d4529add769c8a8d (patch) | |
tree | be6f1c5450eb03622b3bd63b0bc58a643e021d5b /opengl/libs/GLES_CM | |
parent | 46b2df153fccf7f918ee5d7d747c208bdd2d55f4 (diff) | |
download | frameworks_base-b96df8548ee80e581e6851d7d4529add769c8a8d.zip frameworks_base-b96df8548ee80e581e6851d7d4529add769c8a8d.tar.gz frameworks_base-b96df8548ee80e581e6851d7d4529add769c8a8d.tar.bz2 |
add a way to easily catch and log GL errors (compile time flag)
Diffstat (limited to 'opengl/libs/GLES_CM')
-rw-r--r-- | opengl/libs/GLES_CM/gl.cpp | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/opengl/libs/GLES_CM/gl.cpp b/opengl/libs/GLES_CM/gl.cpp index 3204d9a..1e4c136 100644 --- a/opengl/libs/GLES_CM/gl.cpp +++ b/opengl/libs/GLES_CM/gl.cpp @@ -31,6 +31,9 @@ using namespace android; +// set this to 1 for crude GL debugging +#define CHECK_FOR_GL_ERRORS 0 + // ---------------------------------------------------------------------------- // extensions for the framework // ---------------------------------------------------------------------------- @@ -71,7 +74,7 @@ void glVertexPointerBounds(GLint size, GLenum type, #undef CALL_GL_API #undef CALL_GL_API_RETURN -#if USE_FAST_TLS_KEY +#if USE_FAST_TLS_KEY && !CHECK_FOR_GL_ERRORS #define API_ENTRY(_api) __attribute__((naked)) _api @@ -95,12 +98,27 @@ void glVertexPointerBounds(GLint size, GLenum type, #else + #if CHECK_FOR_GL_ERRORS + + #define CHECK_GL_ERRORS(_api) \ + do { GLint err = glGetError(); \ + LOGE_IF(err != GL_NO_ERROR, "%s failed (0x%04X)", #_api, err); \ + } while(false); + + #else + + #define CHECK_GL_ERRORS(_api) do { } while(false); + + #endif + + #define API_ENTRY(_api) _api #define CALL_GL_API(_api, ...) \ gl_hooks_t::gl_t const * const _c = &getGlThreadSpecific()->gl; \ - _c->_api(__VA_ARGS__) - + _c->_api(__VA_ARGS__); \ + CHECK_GL_ERRORS(_api) + #define CALL_GL_API_RETURN(_api, ...) \ gl_hooks_t::gl_t const * const _c = &getGlThreadSpecific()->gl; \ return _c->_api(__VA_ARGS__) |