Helios Engine
A modular ECS based data-oriented C++23 game engine framework
Loading...
Searching...
No Matches
lock.hpp File Reference

Tracy-specific mutex instrumentation macros. More...

Go to the source code of this file.

Macros

#define HELIOS_PROFILE_LOCKABLE(type, var)
#define HELIOS_PROFILE_LOCKABLE_BASE(type)
#define HELIOS_PROFILE_SHARED_LOCKABLE(type, var)
#define HELIOS_PROFILE_SHARED_LOCKABLE_BASE(type)
#define HELIOS_PROFILE_LOCK_MARK(lock)
#define HELIOS_PROFILE_LOCK_NAME(lock, name)

Detailed Description

Tracy-specific mutex instrumentation macros.

IMPORTANT: Lock profiling is Tracy-specific and bypasses the Profiler backend abstraction. These macros directly expand to Tracy's LockableBase / TracyLockable wrappers and cannot fan-out to other backends. Include this file only if Tracy is your primary profiling backend and you need lock contention visualization.

Do NOT include this from profile.hpp or any header included by default.

Definition in file lock.hpp.

Macro Definition Documentation

◆ HELIOS_PROFILE_LOCK_MARK

#define HELIOS_PROFILE_LOCK_MARK ( lock)
Value:
[[maybe_unused]] static constexpr int HELIOS_ANONYMOUS_VAR(_helios_lock) = 0
#define HELIOS_ANONYMOUS_VAR(prefix)
Definition macro.hpp:14

Definition at line 61 of file lock.hpp.

◆ HELIOS_PROFILE_LOCK_NAME

#define HELIOS_PROFILE_LOCK_NAME ( lock,
name )
Value:
#define HELIOS_PROFILE_LOCK_MARK(lock)
Definition lock.hpp:61

Definition at line 63 of file lock.hpp.

◆ HELIOS_PROFILE_LOCKABLE

#define HELIOS_PROFILE_LOCKABLE ( type,
var )
Value:
type var

Definition at line 57 of file lock.hpp.

◆ HELIOS_PROFILE_LOCKABLE_BASE

#define HELIOS_PROFILE_LOCKABLE_BASE ( type)
Value:
type

Definition at line 58 of file lock.hpp.

◆ HELIOS_PROFILE_SHARED_LOCKABLE

#define HELIOS_PROFILE_SHARED_LOCKABLE ( type,
var )
Value:
type var

Definition at line 59 of file lock.hpp.

◆ HELIOS_PROFILE_SHARED_LOCKABLE_BASE

#define HELIOS_PROFILE_SHARED_LOCKABLE_BASE ( type)
Value:
type

Definition at line 60 of file lock.hpp.