summaryrefslogtreecommitdiff
path: root/src/debug/TracyDefines.hpp
blob: b96a71dde6c8b3841f1833e4a765d17fc0a7a5a9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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