summaryrefslogtreecommitdiff
path: root/src/debug/TracyDefines.hpp
diff options
context:
space:
mode:
authorvaxerski <43317083+vaxerski@users.noreply.github.com>2023-07-20 17:47:49 +0200
committervaxerski <43317083+vaxerski@users.noreply.github.com>2023-07-20 17:47:49 +0200
commita921c5b89ea0a8073d5fba3bb77cff7ff27e08f3 (patch)
tree020db0abe6a6ab453a26d9ba822b13e2b70d85e0 /src/debug/TracyDefines.hpp
parent948855a98442a2d04665b0ac34d0651c013d4b37 (diff)
Debug: add tracy
Diffstat (limited to 'src/debug/TracyDefines.hpp')
-rw-r--r--src/debug/TracyDefines.hpp35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/debug/TracyDefines.hpp b/src/debug/TracyDefines.hpp
new file mode 100644
index 00000000..b96a71dd
--- /dev/null
+++ b/src/debug/TracyDefines.hpp
@@ -0,0 +1,35 @@
+#pragma once
+
+#ifdef USE_TRACY_GPU
+
+#include "Log.hpp"
+
+#include <GL/gl.h>
+#include <GLES2/gl2ext.h>
+
+inline PFNGLQUERYCOUNTEREXTPROC glQueryCounter;
+inline PFNGLGETQUERYOBJECTIVEXTPROC glGetQueryObjectiv;
+inline PFNGLGETQUERYOBJECTUI64VEXTPROC glGetQueryObjectui64v;
+
+#include "../../subprojects/tracy/public/tracy/TracyOpenGL.hpp"
+
+inline void loadGLProc(void* pProc, const char* name) {
+ void* proc = (void*)eglGetProcAddress(name);
+ if (proc == NULL) {
+ Debug::log(CRIT, "[Tracy GPU Profiling] eglGetProcAddress(%s) failed", name);
+ abort();
+ }
+ *(void**)pProc = proc;
+}
+
+#define TRACY_GPU_CONTEXT TracyGpuContext
+#define TRACY_GPU_ZONE(e) TracyGpuZone(e)
+#define TRACY_GPU_COLLECT TracyGpuCollect
+
+#else
+
+#define TRACY_GPU_CONTEXT
+#define TRACY_GPU_ZONE(e)
+#define TRACY_GPU_COLLECT
+
+#endif \ No newline at end of file