[PATCH v6 0/6] support for tracing Android Dalvik applications

Imre Deak imre.deak at intel.com
Thu Sep 20 02:33:11 PDT 2012


Hi,

sorry for the big delay, it took me a while to sort out all the
dependencies for this, so I could remove the workarounds and make sure
things work on Android JB.

I tested the following apps on JB with these patches in place and I could
trace/replay them without problems:

- com.android.settings
- com.aurorasoftworks.quadrant.ui.advanced
- com.google.android.apps.maps
- com.android.browser
- com.android.vending

In v6 addressing comments from Jose:
- Remove state tracking workarounds. The reason why we needed these
  was a bug in mesa. A fix for that is posted on the mesa ML, waiting
  to be committed.
- wrap glGenBuffers to create shadow buffers
- rename gl_buffer to Buffer and use C++ constructors/destructros to
  allocate/free it
- rename 'manual' to 'shadow' in the names of buffer tracking helper
  functions

Imre Deak (6):
  android: cmake: fix toolchain version matching
  android: cmake: fix include/library path
  gles: track gl buffer contents in a shadow buffer
  mt retrace: add workqueue support
  mt retrace: add support for multi-threaded playback
  mt retrace: store current context,drawable in thread specific memory

 CMakeLists.txt                          |    3 +
 cmake/toolchain/android.toolchain.cmake |    6 +-
 common/os_workqueue.hpp                 |   49 +++++++++
 common/workqueue_posix.cpp              |  117 ++++++++++++++++++++++
 common/workqueue_win32.cpp              |   48 +++++++++
 helpers/glsize.hpp                      |    7 +-
 retrace/CMakeLists.txt                  |    1 +
 retrace/glretrace.hpp                   |   14 ++-
 retrace/glretrace.py                    |    7 +-
 retrace/glretrace_cgl.cpp               |    3 +
 retrace/glretrace_egl.cpp               |   62 ++++++++++--
 retrace/glretrace_glx.cpp               |    2 +-
 retrace/glretrace_main.cpp              |   15 +--
 retrace/glretrace_state.cpp             |   68 +++++++++++++
 retrace/glretrace_wgl.cpp               |    6 +-
 retrace/glretrace_ws.cpp                |   17 ++--
 retrace/retrace_main.cpp                |  166 +++++++++++++++++++++++--------
 wrappers/gltrace.hpp                    |   29 ++++++
 wrappers/gltrace.py                     |   81 +++++++++++++++
 19 files changed, 626 insertions(+), 75 deletions(-)
 create mode 100644 common/os_workqueue.hpp
 create mode 100644 common/workqueue_posix.cpp
 create mode 100644 common/workqueue_win32.cpp
 create mode 100644 retrace/glretrace_state.cpp

-- 
1.7.9.5



More information about the apitrace mailing list