#ifndef LIBANGLE_TRACE_H_
#define LIBANGLE_TRACE_H_
#include <platform/PlatformMethods.h>
#include "common/base/anglebase/trace_event/trace_event.h"
#if defined(ANGLE_ENABLE_PLATFORM_TRACE_EVENTS)
# define ANGLE_TRACE_EVENT_BEGIN(CATEGORY, EVENT, ...) \
TRACE_EVENT_BEGIN(ANGLEPlatformCurrent(), CATEGORY, EVENT, ##__VA_ARGS__)
# define ANGLE_TRACE_EVENT_END(CATEGORY, EVENT, ...) \
TRACE_EVENT_END(ANGLEPlatformCurrent(), CATEGORY, EVENT, ##__VA_ARGS__)
# define ANGLE_TRACE_EVENT_INSTANT(CATEGORY, EVENT, ...) \
TRACE_EVENT_INSTANT(ANGLEPlatformCurrent(), CATEGORY, EVENT, ##__VA_ARGS__)
# define ANGLE_TRACE_EVENT(CATEGORY, EVENT, ...) \
TRACE_EVENT(ANGLEPlatformCurrent(), CATEGORY, EVENT, ##__VA_ARGS__)
#else
# define ANGLE_TRACE_EVENT_BEGIN(CATEGORY, EVENT, ...) ((void)0)
# define ANGLE_TRACE_EVENT_END(CATEGORY, EVENT, ...) ((void)0)
# define ANGLE_TRACE_EVENT_INSTANT(CATEGORY, EVENT, ...) ((void)0)
# define ANGLE_TRACE_EVENT(CATEGORY, EVENT, ...) ((void)0)
#endif
#define ANGLE_TRACE_EVENT_BEGIN0(CATEGORY, EVENT) ANGLE_TRACE_EVENT_BEGIN(CATEGORY, EVENT)
#define ANGLE_TRACE_EVENT_END0(CATEGORY, EVENT) ANGLE_TRACE_EVENT_END(CATEGORY, EVENT)
#define ANGLE_TRACE_EVENT_INSTANT0(CATEGORY, EVENT) ANGLE_TRACE_EVENT_INSTANT(CATEGORY, EVENT)
#define ANGLE_TRACE_EVENT0(CATEGORY, EVENT) ANGLE_TRACE_EVENT(CATEGORY, EVENT)
#define ANGLE_TRACE_EVENT1(CATEGORY, EVENT, NAME, VAL) ANGLE_TRACE_EVENT(CATEGORY, EVENT, NAME, VAL)
#endif