[PATCH v2 14/18] Android manual state tracking: enable for EGL

Imre Deak imre.deak at intel.com
Tue May 15 07:11:09 PDT 2012


Signed-off-by: Imre Deak <imre.deak at intel.com>
---
 wrappers/CMakeLists.txt |    5 ++++-
 wrappers/egltrace.py    |   11 ++++++++++-
 2 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/wrappers/CMakeLists.txt b/wrappers/CMakeLists.txt
index b9e3eef..461656e 100644
--- a/wrappers/CMakeLists.txt
+++ b/wrappers/CMakeLists.txt
@@ -340,9 +340,12 @@ endif ()
 
 if (ENABLE_EGL AND NOT WIN32 AND NOT APPLE)
     # libEGL.so/libGL.so
+    if (ANDROID)
+        set (egltrace_opts "--android")
+    endif ()
     add_custom_command (
         OUTPUT egltrace.cpp
-        COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/egltrace.py > ${CMAKE_CURRENT_BINARY_DIR}/egltrace.cpp
+        COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/egltrace.py ${egltrace_opts} > ${CMAKE_CURRENT_BINARY_DIR}/egltrace.cpp
         DEPENDS
             egltrace.py
             gltrace.py
diff --git a/wrappers/egltrace.py b/wrappers/egltrace.py
index b958a0c..206eb86 100644
--- a/wrappers/egltrace.py
+++ b/wrappers/egltrace.py
@@ -37,10 +37,18 @@ from specs.stdapi import API
 from specs.glapi import glapi
 from specs.eglapi import eglapi
 from specs.glesapi import glesapi
+import sys
 
 
 class EglTracer(GlTracer):
 
+    def __init__(self, isAndroid):
+        self.isAndroid = isAndroid
+        GlTracer.__init__(self)
+
+    def manualTracking(self):
+        return self.isAndroid
+
     def isFunctionPublic(self, function):
         # The symbols visible in libEGL.so can vary, so expose them all
         return True
@@ -92,7 +100,8 @@ if __name__ == '__main__':
     api.addApi(eglapi)
     api.addApi(glapi)
     api.addApi(glesapi)
-    tracer = EglTracer()
+    is_android = "--android" in sys.argv
+    tracer = EglTracer(is_android)
     tracer.traceApi(api)
 
     print r'''
-- 
1.7.5.4



More information about the apitrace mailing list