aboutsummaryrefslogtreecommitdiff
path: root/zencore/include
diff options
context:
space:
mode:
authorMartin Ridgers <[email protected]>2021-10-28 11:33:47 +0200
committerMartin Ridgers <[email protected]>2021-11-18 15:24:39 +0100
commit4df0770ffe6fb03ed7b5248a7fadef935d856ad3 (patch)
treea79a51c4c3fccd7a99562a99edd7caa67ec88ee2 /zencore/include
parentFilled out ZEN_THIRDPARTY_ macros for Clang and GCC (diff)
downloadzen-4df0770ffe6fb03ed7b5248a7fadef935d856ad3.tar.xz
zen-4df0770ffe6fb03ed7b5248a7fadef935d856ad3.zip
Initial integration of Trace from UE5 via the --zentrace=y xmake config
Diffstat (limited to 'zencore/include')
-rw-r--r--zencore/include/zencore/trace.h49
1 files changed, 49 insertions, 0 deletions
diff --git a/zencore/include/zencore/trace.h b/zencore/include/zencore/trace.h
new file mode 100644
index 000000000..0bcb6e285
--- /dev/null
+++ b/zencore/include/zencore/trace.h
@@ -0,0 +1,49 @@
+// Copyright Epic Games, Inc. All Rights Reserved.
+
+#pragma once
+
+#if ZEN_WITH_TRACE
+
+#define __UNREAL__ 0
+#define IS_MONOLITHIC 1
+#define PLATFORM_WINDOWS ZEN_PLATFORM_WINDOWS
+#define PLATFORM_UNIX ZEN_PLATFORM_LINUX
+#define PLATFORM_APPLE ZEN_PLATFORM_MACOS
+#define PLATFORM_ANDROID 0
+#define PLATFORM_HOLOLENS 0
+#define UE_BUILD_TEST 0
+#define UE_BUILD_SHIPPING 0
+
+ZEN_THIRD_PARTY_INCLUDES_START
+#if !defined(TRACE_IMPLEMENT)
+# define TRACE_IMPLEMENT 0
+#endif
+#include <trace.h>
+#undef TRACE_IMPLEMENT
+
+ZEN_THIRD_PARTY_INCLUDES_END
+#undef __UNREAL__
+#undef IS_MONOLITHIC
+#undef PLATFORM_WINDOWS
+#undef PLATFORM_UNIX
+#undef PLATFORM_APPLE
+#undef PLATFORM_ANDROID
+#undef PLATFORM_HOLOLENS
+#undef UE_BUILD_TEST
+#undef UE_BUILD_SHIPPING
+
+#define ZEN_TRACE_CPU(x) TRACE_CPU_SCOPE(x)
+
+enum class TraceType
+{
+ File,
+ Network,
+};
+
+void TraceInit(const char* HostOrPath, TraceType Type);
+
+#else
+
+#define ZEN_TRACE_CPU(x)
+
+#endif // ZEN_WITH_TRACE