am 846322a9: Merge change Ib96df854 into eclair
Merge commit '846322a9ae5ef8155cca0059d3f64d718516ca13' into eclair-mr2 * commit '846322a9ae5ef8155cca0059d3f64d718516ca13': add a way to easily catch and log GL errors (compile time flag)
This commit is contained in:
@@ -31,6 +31,9 @@
|
|||||||
|
|
||||||
using namespace android;
|
using namespace android;
|
||||||
|
|
||||||
|
// set this to 1 for crude GL debugging
|
||||||
|
#define CHECK_FOR_GL_ERRORS 0
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// extensions for the framework
|
// extensions for the framework
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
@@ -71,7 +74,7 @@ void glVertexPointerBounds(GLint size, GLenum type,
|
|||||||
#undef CALL_GL_API
|
#undef CALL_GL_API
|
||||||
#undef CALL_GL_API_RETURN
|
#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
|
#define API_ENTRY(_api) __attribute__((naked)) _api
|
||||||
|
|
||||||
@@ -95,12 +98,27 @@ void glVertexPointerBounds(GLint size, GLenum type,
|
|||||||
|
|
||||||
#else
|
#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 API_ENTRY(_api) _api
|
||||||
|
|
||||||
#define CALL_GL_API(_api, ...) \
|
#define CALL_GL_API(_api, ...) \
|
||||||
gl_hooks_t::gl_t const * const _c = &getGlThreadSpecific()->gl; \
|
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, ...) \
|
#define CALL_GL_API_RETURN(_api, ...) \
|
||||||
gl_hooks_t::gl_t const * const _c = &getGlThreadSpecific()->gl; \
|
gl_hooks_t::gl_t const * const _c = &getGlThreadSpecific()->gl; \
|
||||||
return _c->_api(__VA_ARGS__)
|
return _c->_api(__VA_ARGS__)
|
||||||
|
|||||||
Reference in New Issue
Block a user