// Copyright (c) 2012 The ANGLE Project Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "common/event_tracer.h" #include "common/debug.h" namespace angle { const unsigned char *GetTraceCategoryEnabledFlag(const char *name) { auto *platform = ANGLEPlatformCurrent(); ASSERT(platform); const unsigned char *categoryEnabledFlag = platform->getTraceCategoryEnabledFlag(platform, name); if (categoryEnabledFlag != nullptr) { return categoryEnabledFlag; } static unsigned char disabled = 0; return &disabled; } angle::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) { auto *platform = ANGLEPlatformCurrent(); ASSERT(platform); double timestamp = platform->monotonicallyIncreasingTime(platform); if (timestamp != 0) { angle::TraceEventHandle handle = platform->addTraceEvent(platform, phase, categoryGroupEnabled, name, id, timestamp, numArgs, argNames, argTypes, argValues, flags); ASSERT(handle != 0); return handle; } return static_cast(0); } } // namespace angle