HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CE_Tracing.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * NAME: CE_Tracing.h ( CE Library, C++)
7  *
8  * COMMENTS: Tracy OpenCL tracing macros.
9  */
10 
11 #ifndef __CE_Tracing__
12 #define __CE_Tracing__
13 
14 #include <UT/UT_Tracing.h>
15 
16 #ifdef TRACY_ENABLE
17 
18 #include <tracy/tracy/TracyOpenCL.hpp>
19 
20 typedef tracy::OpenCLCtx *ceTraceCtx;
21 
22 #define ceTraceContext(c, x) TracyCLContext(c, x)
23 #define ceTraceDestroy(c) TracyCLDestroy(c)
24 
25 #define ceTraceZoneSetEvent(e) TracyCLZoneSetEvent(e)
26 
27 #define ceTraceZoneKernel(c, x) TracyCLNamedZone(c, __tracy_gpu_zone, x, utTraceFlag(CL_KERNELS))
28 #define ceTraceZoneKernelC(c, x, y) TracyCLNamedZoneC(c, __tracy_gpu_zone, x, y, utTraceFlag(CL_KERNELS))
29 #define ceTraceZoneKernelTransient(c, x) TracyCLZoneTransient(c, __tracy_gpu_zone, x, utTraceFlag(CL_KERNELS))
30 #define ceTraceZoneMem(c, x) TracyCLNamedZone(c, __tracy_gpu_zone, x, utTraceFlag(CL_MEMORY))
31 #define ceTraceZoneMemC(c, x, y) TracyCLNamedZoneC(c, __tracy_gpu_zone, x, y, utTraceFlag(CL_MEMORY))
32 
33 #ifdef TRACY_ON_DEMAND
34 #define ceTraceMemEvent(e) (utTraceFlag(CL_MEMORY) && utTraceIsConnected ? &(e) : nullptr)
35 #else
36 #define ceTraceMemEvent(e) (&(e))
37 #endif
38 
39 #ifdef TRACY_HAS_CALLSTACK
40 
41 #define ceTraceZoneKernelS(c, x, d) TracyCLNamedZoneS(c, __tracy_gpu_zone, x, d, utTraceFlag(CL_KERNELS))
42 #define ceTraceZoneKernelCS(c, x, y, d) TracyCLNamedZoneS(c, __tracy_gpu_zone, x, d, utTraceFlag(CL_KERNELS))
43 #define ceTraceZoneKernelTransientS(c, x, d) TracyCLZoneTransientS(c, __tracy_gpu_zone, x, d, utTraceFlag(CL_KERNELS))
44 #define ceTraceZoneMemS(c, x, d) TracyCLNamedZoneCS(c, __tracy_gpu_zone, x, d, utTraceFlag(CL_MEMORY))
45 #define ceTraceZoneMemCS(c, x, y, d) TracyCLNamedZoneCS(c, __tracy_gpu_zone, x, y, d, utTraceFlag(CL_MEMORY))
46 
47 #else
48 
49 #define ceTraceZoneKernelS(c, x, d) ceTraceZoneKernel(c, x)
50 #define ceTraceZoneKernelCS(c, x, y, d) ceTraceZoneKernelC(c, x, y)
51 #define ceTraceZoneKernelTransientS(c, x, d) ceTraceZoneKernelTransient(c, x)
52 #define ceTraceZoneMemS(c, x, d) ceTraceZoneMem(c, x)
53 #define ceTraceZoneMemCS(c, x, y, d) ceTraceZoneMemC(c, x, y)
54 #endif
55 
56 #else
57 
58 typedef void *ceTraceCtx;
59 
60 #define ceTraceContext(c, x) nullptr
61 #define ceTraceDestroy(c)
62 
63 #define ceTraceZoneSetEvent(e)
64 
65 #define ceTraceZoneKernel(c, x)
66 #define ceTraceZoneKernelC(c, x, y)
67 #define ceTraceZoneKernelTransient(c, x)
68 #define ceTraceZoneMem(c, x)
69 #define ceTraceZoneMemC(c, x, y)
70 
71 #define ceTraceMemEvent(e) (nullptr)
72 
73 #define ceTraceZoneKernelS(c, x, d)
74 #define ceTraceZoneKernelCS(c, x, y, d)
75 #define ceTraceZoneKernelTransientS(c, x, d)
76 #define ceTraceZoneMemS(c, x, d)
77 #define ceTraceZoneMemCS(c, x, y, d)
78 
79 #endif
80 
81 
82 #endif
83 
void * ceTraceCtx
Definition: CE_Tracing.h:58