diff options
author | Lingfeng Yang <lfy@google.com> | 2020-09-28 18:56:23 -0700 |
---|---|---|
committer | Lingfeng Yang <lfy@google.com> | 2020-09-28 18:56:23 -0700 |
commit | 9ee90ceb9715808f7d28a360d7f3ed9aede2714d (patch) | |
tree | 2a6243a96d0e6c43ba6fe3ba0941086ff1be4af7 | |
parent | ab89e17faf95f6180907067b5f79023972ef48c0 (diff) | |
download | device_generic_goldfish-opengl-9ee90ceb9715808f7d28a360d7f3ed9aede2714d.tar.gz device_generic_goldfish-opengl-9ee90ceb9715808f7d28a360d7f3ed9aede2714d.tar.bz2 device_generic_goldfish-opengl-9ee90ceb9715808f7d28a360d7f3ed9aede2714d.zip |
Make it easier to locally unit test guest/host combined tracing
Change-Id: If7c24e1ac9fa50dba8b85fc12274ecd75fea0e01
-rw-r--r-- | android-emu/android/base/Tracing.cpp | 8 | ||||
-rw-r--r-- | android-emu/android/base/Tracing.h | 25 | ||||
-rw-r--r-- | system/OpenglSystemCommon/HostConnection.cpp | 10 |
3 files changed, 36 insertions, 7 deletions
diff --git a/android-emu/android/base/Tracing.cpp b/android-emu/android/base/Tracing.cpp index 59090428..0e635db1 100644 --- a/android-emu/android/base/Tracing.cpp +++ b/android-emu/android/base/Tracing.cpp @@ -25,11 +25,11 @@ namespace android { namespace base { -void ScopedTrace::beginTraceImpl(const char* name) { +void ScopedTraceGuest::beginTraceImpl(const char* name) { atrace_begin(VK_TRACE_TAG, name); } -void ScopedTrace::endTraceImpl(const char*) { +void ScopedTraceGuest::endTraceImpl(const char*) { atrace_end(VK_TRACE_TAG); } @@ -47,13 +47,13 @@ void ScopedTrace::endTraceImpl(const char*) { namespace android { namespace base { -void ScopedTrace::beginTraceImpl(const char* name) { +void ScopedTraceGuest::beginTraceImpl(const char* name) { #ifndef FUCHSIA_NO_TRACE TRACE_DURATION_BEGIN(VK_TRACE_TAG, name); #endif } -void ScopedTrace::endTraceImpl(const char* name) { +void ScopedTraceGuest::endTraceImpl(const char* name) { #ifndef FUCHSIA_NO_TRACE TRACE_DURATION_END(VK_TRACE_TAG, name); #endif diff --git a/android-emu/android/base/Tracing.h b/android-emu/android/base/Tracing.h index 046a5bf0..3a78726e 100644 --- a/android-emu/android/base/Tracing.h +++ b/android-emu/android/base/Tracing.h @@ -19,13 +19,30 @@ namespace android { namespace base { +#ifdef HOST_BUILD +void initializeTracing(); +void enableTracing(); +void disableTracing(); + class ScopedTrace { public: - ScopedTrace(const char* name) : name_(name) { + ScopedTrace(const char* name); + ~ScopedTrace(); +}; + +class ScopedTraceDerived : public ScopedTrace { +public: + void* member = nullptr; +}; +#endif + +class ScopedTraceGuest { +public: + ScopedTraceGuest(const char* name) : name_(name) { beginTraceImpl(name_); } - ~ScopedTrace() { + ~ScopedTraceGuest() { endTraceImpl(name_); } private: @@ -42,4 +59,8 @@ private: #define __AEMU_GENSYM1(x,y) __AEMU_GENSYM2(x,y) #define AEMU_GENSYM(x) __AEMU_GENSYM1(x,__COUNTER__) +#ifdef HOST_BUILD #define AEMU_SCOPED_TRACE(tag) __attribute__ ((unused)) android::base::ScopedTrace AEMU_GENSYM(aemuScopedTrace_)(tag) +#else +#define AEMU_SCOPED_TRACE(tag) __attribute__ ((unused)) android::base::ScopedTraceGuest AEMU_GENSYM(aemuScopedTrace_)(tag) +#endif diff --git a/system/OpenglSystemCommon/HostConnection.cpp b/system/OpenglSystemCommon/HostConnection.cpp index 7d309fbd..7ddf277f 100644 --- a/system/OpenglSystemCommon/HostConnection.cpp +++ b/system/OpenglSystemCommon/HostConnection.cpp @@ -17,6 +17,10 @@ #include "cutils/properties.h" +#ifdef HOST_BUILD +#include "android/base/Tracing.h" +#endif + #ifdef GOLDFISH_NO_GL struct gl_client_context_t { int placeholder; @@ -359,7 +363,11 @@ HostConnection::HostConnection() : m_grallocOnly(true), m_noHostError(true), m_rendernodeFd(-1), - m_rendernodeFdOwned(false) { } + m_rendernodeFdOwned(false) { +#ifdef HOST_BUILD + android::base::initializeTracing(); +#endif +} HostConnection::~HostConnection() { |