X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=wrappers%2Fegltrace.py;h=fb8a3a0b3b362ff4fd61e0a5bff65909f2f7daec;hb=0621bb35f6b0973f437c17defa10d357c06b2806;hp=f40b8a06a863e2875d8704d6c8f64d4f03d1e82c;hpb=bf1f242397b87c2d501b1ca7a8045f7f3649ca3b;p=apitrace diff --git a/wrappers/egltrace.py b/wrappers/egltrace.py index f40b8a0..fb8a3a0 100644 --- a/wrappers/egltrace.py +++ b/wrappers/egltrace.py @@ -52,11 +52,16 @@ class EglTracer(GlTracer): def traceFunctionImplBody(self, function): GlTracer.traceFunctionImplBody(self, function) + if function.name == 'eglCreateContext': + print ' if (_result != EGL_NO_CONTEXT)' + print ' gltrace::createContext((uintptr_t)_result);' + if function.name == 'eglMakeCurrent': print ' if (_result) {' print ' // update the profile' print ' if (ctx != EGL_NO_CONTEXT) {' print ' EGLint api = EGL_OPENGL_ES_API, version = 1;' + print ' gltrace::setContext((uintptr_t)ctx);' print ' gltrace::Context *tr = gltrace::getContext();' print ' _eglQueryContext(dpy, ctx, EGL_CONTEXT_CLIENT_TYPE, &api);' print ' _eglQueryContext(dpy, ctx, EGL_CONTEXT_CLIENT_VERSION, &version);' @@ -66,9 +71,14 @@ class EglTracer(GlTracer): print ' tr->profile = gltrace::PROFILE_ES1;' print ' else' print ' tr->profile = gltrace::PROFILE_ES2;' + print ' } else {' + print ' gltrace::clearContext();' print ' }' print ' }' + if function.name == 'eglDestroyContext': + print ' if (_result)' + print ' gltrace::destroyContext((uintptr_t)ctx);' if __name__ == '__main__': print '#include '