Helper Macros
All of the following macros do nothing if g_carbProfiler is nullptr (i.e. 
carb::profiler::registerProfilerForClient() has not been called).
Macros
- CARB_NAME_THREAD: Records the name of a thread. 
- CARB_PROFILE_ALLOC: Records an allocation event for profilers that support them. 
- CARB_PROFILE_ALLOC_NAMED: Records an allocation event for a named memory pool for profilers that support them. 
- CARB_PROFILE_BEGIN: Marks the beginning of a profiling zone. 
- CARB_PROFILE_CALIBRATE_GPU_CONTEXT: Submit context calibration information that allows correlating CPU and GPU clocks. 
- CARB_PROFILE_CREATE_GPU_CONTEXT: Create a new GPU profiling context that allows injecting timestamps coming from a GPU in a deferred manner. 
- CARB_PROFILE_DESTROY_GPU_CONTEXT: Destroy a previously created GPU Context. 
- CARB_PROFILE_END: Marks the end of a profiling zone previously started with CARB_PROFILE_BEGIN() . 
- CARB_PROFILE_EVENT: Records an instant event on a thread's timeline at the current time. 
- CARB_PROFILE_FLOW_BEGIN: Records the beginning of a flow event on the timeline at the current time for the current thread. 
- CARB_PROFILE_FLOW_END: Records the end of a flow event on the timeline at the current time for the current thread. 
- CARB_PROFILE_FRAME: Inserts a frame marker for the calling thread in the profiling output, for profilers that support frame markers. 
- CARB_PROFILE_FREE: Records a free event for profilers that support them. 
- CARB_PROFILE_FREE_NAMED: Records a free event for a named memory pool for profilers that support them. 
- CARB_PROFILE_FUNCTION: A helper for CARB_PROFILE_ZONE() that automatically uses the function name as from - CARB_PRETTY_FUNCTION.
- CARB_PROFILE_GPU_QUERY_BEGIN: Record the beginning of a new GPU timestamp query. 
- CARB_PROFILE_GPU_QUERY_END: Record the end of a new GPU timestamp query. 
- CARB_PROFILE_GPU_SET_QUERY_VALUE: Set the value we've received from the GPU for a query (begin or end) we've issued in the past. 
- CARB_PROFILE_LOCKABLE_CREATE: Create a lockable context which we can use to tag lock operation. 
- CARB_PROFILE_LOCKABLE_DESTROY: Destroy a lockable context. 
- CARB_PROFILE_LOCKABLE_OPERATION: Records a lockable operation on a thread's timeline at the current time. 
- CARB_PROFILE_REGISTER_STRING: Registers a static string for use with the profiler. 
- CARB_PROFILE_SET_CAPTURE_MASK: A helper to set the capture mask. 
- CARB_PROFILE_SHUTDOWN: Shuts down the profiler that has been registered with carb::profiler::registerProfilerForClient() and previously started with CARB_PROFILE_STARTUP() . 
- CARB_PROFILE_STARTUP: Starts the profiler that has been registered with carb::profiler::registerProfilerForClient() . 
- CARB_PROFILE_VALUE: Writes a named numeric value to the profiling output for profilers that support them. 
- CARB_PROFILE_ZONE: Creates a profiling zone over a scope.