The open source OpenXR runtime
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

u/trace_marker: Add U_TRACE_[BEGIN|END] for greater control of zones/tracks

+37
+37
src/xrt/auxiliary/util/u_trace_marker.h
··· 75 75 76 76 #define VK_TRACE_MARKER() U_TRACE_FUNC(vk) 77 77 #define VK_TRACE_IDENT(IDENT) U_TRACE_IDENT(vk, IDENT) 78 + #define VK_TRACE_BEGIN(IDENT) U_TRACE_BEGIN(vk, IDENT) 79 + #define VK_TRACE_END(IDENT) U_TRACE_END(vk, IDENT) 80 + 78 81 #define XRT_TRACE_MARKER() U_TRACE_FUNC(xrt) 79 82 #define XRT_TRACE_IDENT(IDENT) U_TRACE_IDENT(xrt, IDENT) 83 + #define XRT_TRACE_BEGIN(IDENT) U_TRACE_BEGIN(xrt, IDENT) 84 + #define XRT_TRACE_END(IDENT) U_TRACE_END(xrt, IDENT) 85 + 80 86 #define DRV_TRACE_MARKER() U_TRACE_FUNC(drv) 81 87 #define DRV_TRACE_IDENT(IDENT) U_TRACE_IDENT(drv, IDENT) 88 + #define DRV_TRACE_BEGIN(IDENT) U_TRACE_BEGIN(drv, IDENT) 89 + #define DRV_TRACE_END(IDENT) U_TRACE_END(drv, IDENT) 90 + 82 91 #define IPC_TRACE_MARKER() U_TRACE_FUNC(ipc) 83 92 #define IPC_TRACE_IDENT(IDENT) U_TRACE_IDENT(ipc, IDENT) 93 + #define IPC_TRACE_BEGIN(IDENT) U_TRACE_BEGIN(ipc, IDENT) 94 + #define IPC_TRACE_END(IDENT) U_TRACE_END(ipc, IDENT) 95 + 84 96 #define OXR_TRACE_MARKER() U_TRACE_FUNC(oxr) 85 97 #define OXR_TRACE_IDENT(IDENT) U_TRACE_IDENT(oxr, IDENT) 98 + #define OXR_TRACE_BEGIN(IDENT) U_TRACE_BEGIN(oxr, IDENT) 99 + #define OXR_TRACE_END(IDENT) U_TRACE_END(oxr, IDENT) 100 + 86 101 #define COMP_TRACE_MARKER() U_TRACE_FUNC(comp) 87 102 #define COMP_TRACE_IDENT(IDENT) U_TRACE_IDENT(comp, IDENT) 103 + #define COMP_TRACE_BEGIN(IDENT) U_TRACE_BEGIN(comp, IDENT) 104 + #define COMP_TRACE_END(IDENT) U_TRACE_END(comp, IDENT) 105 + 88 106 #define SINK_TRACE_MARKER() U_TRACE_FUNC(sink) 89 107 #define SINK_TRACE_IDENT(IDENT) U_TRACE_IDENT(sink, IDENT) 108 + #define SINK_TRACE_BEGIN(IDENT) U_TRACE_BEGIN(sink, IDENT) 109 + #define SINK_TRACE_END(IDENT) U_TRACE_END(sink, IDENT) 110 + 90 111 #define TRACK_TRACE_MARKER() U_TRACE_FUNC(track) 91 112 #define TRACK_TRACE_IDENT(IDENT) U_TRACE_IDENT(track, IDENT) 113 + #define TRACK_TRACE_BEGIN(IDENT) U_TRACE_BEGIN(track, IDENT) 114 + #define TRACK_TRACE_END(IDENT) U_TRACE_END(track, IDENT) 92 115 93 116 94 117 /* ··· 108 131 do { \ 109 132 } while (false) 110 133 134 + #define U_TRACE_BEGIN(CATEGORY, IDENT) \ 135 + int __trace_##IDENT = 0; /* To ensure they are balanced */ \ 136 + do { \ 137 + } while (false) 138 + 139 + #define U_TRACE_END(CATEGORY, IDENT) \ 140 + do { \ 141 + (void)__trace_##IDENT; /* To ensure they are balanced */ \ 142 + } while (false) 143 + 111 144 #define U_TRACE_EVENT_BEGIN_ON_TRACK(CATEGORY, TRACK, TIME, NAME) \ 112 145 do { \ 113 146 } while (false) ··· 190 223 191 224 #endif // !XRT_OS_WINDOWS && !__cplusplus 192 225 226 + #define U_TRACE_BEGIN(CATEGORY, IDENT) TracyCZoneN(__trace_##IDENT, #IDENT, true) 227 + #define U_TRACE_END(CATEGORY, IDENT) TracyCZoneEnd(__trace_##IDENT) 193 228 194 229 #define U_TRACE_EVENT_BEGIN_ON_TRACK(CATEGORY, TRACK, TIME, NAME) \ 195 230 do { \ ··· 259 294 260 295 #define U_TRACE_FUNC(CATEGORY) TRACE_EVENT(CATEGORY, __func__) 261 296 #define U_TRACE_IDENT(CATEGORY, IDENT) TRACE_EVENT(CATEGORY, #IDENT) 297 + #define U_TRACE_BEGIN(CATEGORY, IDENT) TRACE_EVENT_BEGIN(CATEGORY, #IDENT) 298 + #define U_TRACE_END(CATEGORY, IDENT) TRACE_EVENT_END(CATEGORY) 262 299 #define U_TRACE_EVENT_BEGIN_ON_TRACK(CATEGORY, TRACK, TIME, NAME) \ 263 300 TRACE_EVENT_BEGIN_ON_TRACK(CATEGORY, TRACK, TIME, NAME) 264 301 #define U_TRACE_EVENT_BEGIN_ON_TRACK_DATA(CATEGORY, TRACK, TIME, NAME, ...) \