diff options
author | Lingfeng Yang <lfy@google.com> | 2020-10-02 22:32:34 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2020-10-02 22:32:34 +0000 |
commit | b9c79eb5b2fdb680b38c93f4b39a822d95d41f01 (patch) | |
tree | 9beb7925100c60268655b4248dc78a6b027f0ce4 | |
parent | 24dfa743c5f1ca0dfe472b1356f2cbae646d6af8 (diff) | |
parent | 9ee90ceb9715808f7d28a360d7f3ed9aede2714d (diff) | |
download | device_generic_goldfish-opengl-b9c79eb5b2fdb680b38c93f4b39a822d95d41f01.tar.gz device_generic_goldfish-opengl-b9c79eb5b2fdb680b38c93f4b39a822d95d41f01.tar.bz2 device_generic_goldfish-opengl-b9c79eb5b2fdb680b38c93f4b39a822d95d41f01.zip |
Merge "Make it easier to locally unit test guest/host combined tracing"
-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() { |