Loading opengl/libs/Android.mk +1 −1 Original line number Diff line number Diff line Loading @@ -18,7 +18,7 @@ LOCAL_SRC_FILES:= \ EGL/Loader.cpp \ # LOCAL_SHARED_LIBRARIES += libcutils libutils libGLESv2_dbg LOCAL_SHARED_LIBRARIES += libcutils libutils libGLES_trace LOCAL_LDLIBS := -lpthread -ldl LOCAL_MODULE:= libEGL LOCAL_LDFLAGS += -Wl,--exclude-libs=ALL Loading opengl/libs/EGL/Loader.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -28,7 +28,7 @@ #include <EGL/egl.h> #include "egldefs.h" #include "glesv2dbg.h" #include "glestrace.h" #include "hooks.h" #include "Loader.h" Loading Loading @@ -157,7 +157,7 @@ Loader::Loader() Loader::~Loader() { StopDebugServer(); GLTrace_stop(); } const char* Loader::getTag(int dpy, int impl) Loading opengl/libs/EGL/egl.cpp +6 −17 Original line number Diff line number Diff line Loading @@ -37,7 +37,7 @@ #include "egldefs.h" #include "egl_impl.h" #include "egl_tls.h" #include "glesv2dbg.h" #include "glestrace.h" #include "hooks.h" #include "Loader.h" Loading Loading @@ -67,7 +67,6 @@ static int sEGLTraceLevel; static int sEGLApplicationTraceLevel; extern gl_hooks_t gHooksTrace; extern gl_hooks_t gHooksDebug; static inline void setGlTraceThreadSpecific(gl_hooks_t const *value) { pthread_setspecific(gGLTraceKey, value); Loading @@ -89,27 +88,17 @@ void initEglTraceLevel() { char procPath[128] = {}; sprintf(procPath, "/proc/%ld/cmdline", pid); FILE * file = fopen(procPath, "r"); if (file) { if (file) { char cmdline[256] = {}; if (fgets(cmdline, sizeof(cmdline) - 1, file)) { if (fgets(cmdline, sizeof(cmdline) - 1, file)) { if (!strcmp(value, cmdline)) gEGLDebugLevel = 1; } fclose(file); } if (gEGLDebugLevel > 0) { property_get("debug.egl.debug_port", value, "5039"); const unsigned short port = (unsigned short)atoi(value); property_get("debug.egl.debug_forceUseFile", value, "0"); const bool forceUseFile = (bool)atoi(value); property_get("debug.egl.debug_maxFileSize", value, "8"); const unsigned int maxFileSize = atoi(value) << 20; property_get("debug.egl.debug_filePath", value, "/data/local/tmp/dump.gles2dbg"); StartDebugServer(port, forceUseFile, maxFileSize, value); if (gEGLDebugLevel > 0) { GLTrace_start(); } } Loading @@ -119,7 +108,7 @@ void setGLHooksThreadSpecific(gl_hooks_t const *value) { setGlThreadSpecific(&gHooksTrace); } else if (gEGLDebugLevel > 0 && value != &gHooksNoContext) { setGlTraceThreadSpecific(value); setGlThreadSpecific(&gHooksDebug); setGlThreadSpecific(GLTrace_getGLHooks()); } else { setGlThreadSpecific(value); } Loading opengl/libs/EGL/eglApi.cpp +23 −11 Original line number Diff line number Diff line Loading @@ -37,7 +37,7 @@ #include "egl_impl.h" #include "egl_tls.h" #include "glesv2dbg.h" #include "glestrace.h" #include "hooks.h" #include "egl_display.h" Loading Loading @@ -112,7 +112,6 @@ extern EGLBoolean egl_init_drivers(); extern const __eglMustCastToProperFunctionPointerType gExtensionForwarders[MAX_NUMBER_OF_GL_EXTENSIONS]; extern int gEGLDebugLevel; extern gl_hooks_t gHooksTrace; extern gl_hooks_t gHooksDebug; } // namespace android; // ---------------------------------------------------------------------------- Loading Loading @@ -516,6 +515,10 @@ EGLContext eglCreateContext(EGLDisplay dpy, EGLConfig config, } egl_context_t* c = new egl_context_t(dpy, context, config, dp->configs[intptr_t(config)].impl, cnx, version); #if EGL_TRACE if (gEGLDebugLevel > 0) GLTrace_eglCreateContext(version, c); #endif return c; } } Loading Loading @@ -657,9 +660,10 @@ EGLBoolean eglMakeCurrent( EGLDisplay dpy, EGLSurface draw, if (ctx != EGL_NO_CONTEXT) { setGLHooksThreadSpecific(c->cnx->hooks[c->version]); egl_tls_t::setContext(ctx); if (gEGLDebugLevel > 0) { CreateDbgContext(c->version, c->cnx->hooks[c->version]); } #if EGL_TRACE if (gEGLDebugLevel > 0) GLTrace_eglMakeCurrent(c->version, c->cnx->hooks[c->version]); #endif _c.acquire(); _r.acquire(); _d.acquire(); Loading Loading @@ -886,6 +890,10 @@ __eglMustCastToProperFunctionPointerType eglGetProcAddress(const char *procname) "no more slots for eglGetProcAddress(\"%s\")", procname); #if EGL_TRACE gl_hooks_t *debugHooks = GLTrace_getGLHooks(); #endif if (!addr && (slot < MAX_NUMBER_OF_GL_EXTENSIONS)) { bool found = false; for (int i=0 ; i<IMPL_NUM_IMPLEMENTATIONS ; i++) { Loading @@ -896,7 +904,7 @@ __eglMustCastToProperFunctionPointerType eglGetProcAddress(const char *procname) cnx->hooks[GLESv1_INDEX]->ext.extensions[slot] = cnx->hooks[GLESv2_INDEX]->ext.extensions[slot] = #if EGL_TRACE gHooksDebug.ext.extensions[slot] = gHooksTrace.ext.extensions[slot] = debugHooks->ext.extensions[slot] = gHooksTrace.ext.extensions[slot] = #endif cnx->egl.eglGetProcAddress(procname); } Loading Loading @@ -924,10 +932,6 @@ __eglMustCastToProperFunctionPointerType eglGetProcAddress(const char *procname) EGLBoolean eglSwapBuffers(EGLDisplay dpy, EGLSurface draw) { EGLBoolean Debug_eglSwapBuffers(EGLDisplay dpy, EGLSurface draw); if (gEGLDebugLevel > 0) Debug_eglSwapBuffers(dpy, draw); clearError(); egl_display_t const * const dp = validate_display(dpy); Loading @@ -937,6 +941,11 @@ EGLBoolean eglSwapBuffers(EGLDisplay dpy, EGLSurface draw) if (!_s.get()) return setError(EGL_BAD_SURFACE, EGL_FALSE); #if EGL_TRACE if (gEGLDebugLevel > 0) GLTrace_eglSwapBuffers(dpy, draw); #endif egl_surface_t const * const s = get_surface(draw); return s->cnx->egl.eglSwapBuffers(dp->disp[s->impl].dpy, s->surface); } Loading Loading @@ -1162,7 +1171,10 @@ EGLBoolean eglReleaseThread(void) } } egl_tls_t::clearTLS(); dbgReleaseThread(); #if EGL_TRACE if (gEGLDebugLevel > 0) GLTrace_eglReleaseThread(); #endif return EGL_TRUE; } Loading opengl/libs/EGL/egl_tls.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -33,7 +33,7 @@ pthread_key_t egl_tls_t::sKey = -1; pthread_mutex_t egl_tls_t::sLockKey = PTHREAD_MUTEX_INITIALIZER; egl_tls_t::egl_tls_t() : error(EGL_SUCCESS), ctx(0), logCallWithNoContext(EGL_TRUE), dbg(0) { : error(EGL_SUCCESS), ctx(0), logCallWithNoContext(EGL_TRUE) { } const char *egl_tls_t::egl_strerror(EGLint err) { Loading Loading
opengl/libs/Android.mk +1 −1 Original line number Diff line number Diff line Loading @@ -18,7 +18,7 @@ LOCAL_SRC_FILES:= \ EGL/Loader.cpp \ # LOCAL_SHARED_LIBRARIES += libcutils libutils libGLESv2_dbg LOCAL_SHARED_LIBRARIES += libcutils libutils libGLES_trace LOCAL_LDLIBS := -lpthread -ldl LOCAL_MODULE:= libEGL LOCAL_LDFLAGS += -Wl,--exclude-libs=ALL Loading
opengl/libs/EGL/Loader.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -28,7 +28,7 @@ #include <EGL/egl.h> #include "egldefs.h" #include "glesv2dbg.h" #include "glestrace.h" #include "hooks.h" #include "Loader.h" Loading Loading @@ -157,7 +157,7 @@ Loader::Loader() Loader::~Loader() { StopDebugServer(); GLTrace_stop(); } const char* Loader::getTag(int dpy, int impl) Loading
opengl/libs/EGL/egl.cpp +6 −17 Original line number Diff line number Diff line Loading @@ -37,7 +37,7 @@ #include "egldefs.h" #include "egl_impl.h" #include "egl_tls.h" #include "glesv2dbg.h" #include "glestrace.h" #include "hooks.h" #include "Loader.h" Loading Loading @@ -67,7 +67,6 @@ static int sEGLTraceLevel; static int sEGLApplicationTraceLevel; extern gl_hooks_t gHooksTrace; extern gl_hooks_t gHooksDebug; static inline void setGlTraceThreadSpecific(gl_hooks_t const *value) { pthread_setspecific(gGLTraceKey, value); Loading @@ -89,27 +88,17 @@ void initEglTraceLevel() { char procPath[128] = {}; sprintf(procPath, "/proc/%ld/cmdline", pid); FILE * file = fopen(procPath, "r"); if (file) { if (file) { char cmdline[256] = {}; if (fgets(cmdline, sizeof(cmdline) - 1, file)) { if (fgets(cmdline, sizeof(cmdline) - 1, file)) { if (!strcmp(value, cmdline)) gEGLDebugLevel = 1; } fclose(file); } if (gEGLDebugLevel > 0) { property_get("debug.egl.debug_port", value, "5039"); const unsigned short port = (unsigned short)atoi(value); property_get("debug.egl.debug_forceUseFile", value, "0"); const bool forceUseFile = (bool)atoi(value); property_get("debug.egl.debug_maxFileSize", value, "8"); const unsigned int maxFileSize = atoi(value) << 20; property_get("debug.egl.debug_filePath", value, "/data/local/tmp/dump.gles2dbg"); StartDebugServer(port, forceUseFile, maxFileSize, value); if (gEGLDebugLevel > 0) { GLTrace_start(); } } Loading @@ -119,7 +108,7 @@ void setGLHooksThreadSpecific(gl_hooks_t const *value) { setGlThreadSpecific(&gHooksTrace); } else if (gEGLDebugLevel > 0 && value != &gHooksNoContext) { setGlTraceThreadSpecific(value); setGlThreadSpecific(&gHooksDebug); setGlThreadSpecific(GLTrace_getGLHooks()); } else { setGlThreadSpecific(value); } Loading
opengl/libs/EGL/eglApi.cpp +23 −11 Original line number Diff line number Diff line Loading @@ -37,7 +37,7 @@ #include "egl_impl.h" #include "egl_tls.h" #include "glesv2dbg.h" #include "glestrace.h" #include "hooks.h" #include "egl_display.h" Loading Loading @@ -112,7 +112,6 @@ extern EGLBoolean egl_init_drivers(); extern const __eglMustCastToProperFunctionPointerType gExtensionForwarders[MAX_NUMBER_OF_GL_EXTENSIONS]; extern int gEGLDebugLevel; extern gl_hooks_t gHooksTrace; extern gl_hooks_t gHooksDebug; } // namespace android; // ---------------------------------------------------------------------------- Loading Loading @@ -516,6 +515,10 @@ EGLContext eglCreateContext(EGLDisplay dpy, EGLConfig config, } egl_context_t* c = new egl_context_t(dpy, context, config, dp->configs[intptr_t(config)].impl, cnx, version); #if EGL_TRACE if (gEGLDebugLevel > 0) GLTrace_eglCreateContext(version, c); #endif return c; } } Loading Loading @@ -657,9 +660,10 @@ EGLBoolean eglMakeCurrent( EGLDisplay dpy, EGLSurface draw, if (ctx != EGL_NO_CONTEXT) { setGLHooksThreadSpecific(c->cnx->hooks[c->version]); egl_tls_t::setContext(ctx); if (gEGLDebugLevel > 0) { CreateDbgContext(c->version, c->cnx->hooks[c->version]); } #if EGL_TRACE if (gEGLDebugLevel > 0) GLTrace_eglMakeCurrent(c->version, c->cnx->hooks[c->version]); #endif _c.acquire(); _r.acquire(); _d.acquire(); Loading Loading @@ -886,6 +890,10 @@ __eglMustCastToProperFunctionPointerType eglGetProcAddress(const char *procname) "no more slots for eglGetProcAddress(\"%s\")", procname); #if EGL_TRACE gl_hooks_t *debugHooks = GLTrace_getGLHooks(); #endif if (!addr && (slot < MAX_NUMBER_OF_GL_EXTENSIONS)) { bool found = false; for (int i=0 ; i<IMPL_NUM_IMPLEMENTATIONS ; i++) { Loading @@ -896,7 +904,7 @@ __eglMustCastToProperFunctionPointerType eglGetProcAddress(const char *procname) cnx->hooks[GLESv1_INDEX]->ext.extensions[slot] = cnx->hooks[GLESv2_INDEX]->ext.extensions[slot] = #if EGL_TRACE gHooksDebug.ext.extensions[slot] = gHooksTrace.ext.extensions[slot] = debugHooks->ext.extensions[slot] = gHooksTrace.ext.extensions[slot] = #endif cnx->egl.eglGetProcAddress(procname); } Loading Loading @@ -924,10 +932,6 @@ __eglMustCastToProperFunctionPointerType eglGetProcAddress(const char *procname) EGLBoolean eglSwapBuffers(EGLDisplay dpy, EGLSurface draw) { EGLBoolean Debug_eglSwapBuffers(EGLDisplay dpy, EGLSurface draw); if (gEGLDebugLevel > 0) Debug_eglSwapBuffers(dpy, draw); clearError(); egl_display_t const * const dp = validate_display(dpy); Loading @@ -937,6 +941,11 @@ EGLBoolean eglSwapBuffers(EGLDisplay dpy, EGLSurface draw) if (!_s.get()) return setError(EGL_BAD_SURFACE, EGL_FALSE); #if EGL_TRACE if (gEGLDebugLevel > 0) GLTrace_eglSwapBuffers(dpy, draw); #endif egl_surface_t const * const s = get_surface(draw); return s->cnx->egl.eglSwapBuffers(dp->disp[s->impl].dpy, s->surface); } Loading Loading @@ -1162,7 +1171,10 @@ EGLBoolean eglReleaseThread(void) } } egl_tls_t::clearTLS(); dbgReleaseThread(); #if EGL_TRACE if (gEGLDebugLevel > 0) GLTrace_eglReleaseThread(); #endif return EGL_TRUE; } Loading
opengl/libs/EGL/egl_tls.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -33,7 +33,7 @@ pthread_key_t egl_tls_t::sKey = -1; pthread_mutex_t egl_tls_t::sLockKey = PTHREAD_MUTEX_INITIALIZER; egl_tls_t::egl_tls_t() : error(EGL_SUCCESS), ctx(0), logCallWithNoContext(EGL_TRUE), dbg(0) { : error(EGL_SUCCESS), ctx(0), logCallWithNoContext(EGL_TRUE) { } const char *egl_tls_t::egl_strerror(EGLint err) { Loading