diff options
Diffstat (limited to 'src/3rdparty/angle/src/common/event_tracer.cpp')
-rw-r--r-- | src/3rdparty/angle/src/common/event_tracer.cpp | 52 |
1 files changed, 35 insertions, 17 deletions
diff --git a/src/3rdparty/angle/src/common/event_tracer.cpp b/src/3rdparty/angle/src/common/event_tracer.cpp index eb0c98c9e5..c9eb5e3073 100644 --- a/src/3rdparty/angle/src/common/event_tracer.cpp +++ b/src/3rdparty/angle/src/common/event_tracer.cpp @@ -4,35 +4,53 @@ #include "common/event_tracer.h" -namespace gl -{ - -GetCategoryEnabledFlagFunc g_getCategoryEnabledFlag; -AddTraceEventFunc g_addTraceEvent; +#include "common/debug.h" -} // namespace gl - -namespace gl +namespace angle { -const unsigned char* TraceGetTraceCategoryEnabledFlag(const char* name) +const unsigned char *GetTraceCategoryEnabledFlag(const char *name) { - if (g_getCategoryEnabledFlag) + angle::Platform *platform = ANGLEPlatformCurrent(); + ASSERT(platform); + + const unsigned char *categoryEnabledFlag = platform->getTraceCategoryEnabledFlag(name); + if (categoryEnabledFlag != nullptr) { - return g_getCategoryEnabledFlag(name); + return categoryEnabledFlag; } + static unsigned char disabled = 0; return &disabled; } -void TraceAddTraceEvent(char phase, const unsigned char* categoryGroupEnabled, const char* name, unsigned long long id, - int numArgs, const char** argNames, const unsigned char* argTypes, - const unsigned long long* argValues, unsigned char flags) +Platform::TraceEventHandle AddTraceEvent(char phase, const unsigned char* categoryGroupEnabled, const char* name, unsigned long long id, + int numArgs, const char** argNames, const unsigned char* argTypes, + const unsigned long long* argValues, unsigned char flags) { - if (g_addTraceEvent) + angle::Platform *platform = ANGLEPlatformCurrent(); + ASSERT(platform); + + double timestamp = platform->monotonicallyIncreasingTime(); + + if (timestamp != 0) { - g_addTraceEvent(phase, categoryGroupEnabled, name, id, numArgs, argNames, argTypes, argValues, flags); + angle::Platform::TraceEventHandle handle = + platform->addTraceEvent(phase, + categoryGroupEnabled, + name, + id, + timestamp, + numArgs, + argNames, + argTypes, + argValues, + flags); + ASSERT(handle != 0); + return handle; } + + return static_cast<Platform::TraceEventHandle>(0); } -} // namespace gl +} // namespace angle |