tracy lock C api internals simplification
This commit is contained in:
parent
079ae4c47c
commit
cdb5eeea63
@ -1276,7 +1276,7 @@ void sim_step(struct sim_step_ctx *ctx)
|
||||
def.max_force = F32_INFINITY;
|
||||
def.linear_spring_hz = 5;
|
||||
def.linear_spring_damp = 0.7;
|
||||
def.angular_spring_hz = 5;
|
||||
def.angular_spring_hz = 1;
|
||||
def.angular_spring_damp = 0.1;
|
||||
joint_ent->mouse_joint_data = phys_mouse_joint_from_def(def);
|
||||
} else if (sim_ent_is_valid_and_active(joint_ent)) {
|
||||
|
||||
129
src/third_party/tracy/client/TracyProfiler.cpp
vendored
129
src/third_party/tracy/client/TracyProfiler.cpp
vendored
@ -4791,132 +4791,149 @@ TRACY_API void ___tracy_emit_gpu_time_sync_serial( const struct ___tracy_gpu_tim
|
||||
tracy::Profiler::QueueSerialFinish();
|
||||
}
|
||||
|
||||
/* ========================== *
|
||||
* Lock
|
||||
* ========================== */
|
||||
|
||||
struct __tracy_lockable_context_data
|
||||
{
|
||||
tracy::LockableCtx ctx;
|
||||
};
|
||||
|
||||
TRACY_API struct __tracy_lockable_context_data* ___tracy_announce_lockable_ctx( const struct ___tracy_source_location_data* srcloc )
|
||||
TRACY_API TracyCLockCtx ___tracy_announce_lockable_ctx( const struct ___tracy_source_location_data* srcloc )
|
||||
{
|
||||
static_assert(sizeof(struct ___tracy_source_location_data) == sizeof(tracy::SourceLocationData)); // C srcloc struct must fit in cpp srcloc struct
|
||||
struct __tracy_lockable_context_data *lockdata = (__tracy_lockable_context_data *)tracy::tracy_malloc(sizeof(__tracy_lockable_context_data));
|
||||
|
||||
// Because Tracy deletes the "=" operator
|
||||
tracy::LockableCtx ctx { (tracy::SourceLocationData *)srcloc };
|
||||
memcpy(&lockdata->ctx, &ctx, sizeof(ctx));
|
||||
|
||||
return lockdata;
|
||||
tracy::LockableCtx *ctx = (tracy::LockableCtx *)tracy::tracy_malloc(sizeof(tracy::LockableCtx));
|
||||
new(ctx) tracy::LockableCtx((tracy::SourceLocationData *)srcloc);
|
||||
return (TracyCLockCtx)ctx;
|
||||
}
|
||||
|
||||
TRACY_API void ___tracy_terminate_lockable_ctx( struct __tracy_lockable_context_data* lockdata )
|
||||
TRACY_API void ___tracy_terminate_lockable_ctx( TracyCLockCtx lockdata )
|
||||
{
|
||||
lockdata->ctx.~LockableCtx();
|
||||
tracy::LockableCtx *ctx = (tracy::LockableCtx *)lockdata;
|
||||
ctx->~LockableCtx();
|
||||
tracy::tracy_free((void*)lockdata);
|
||||
}
|
||||
|
||||
TRACY_API int32_t ___tracy_before_lock_lockable_ctx( struct __tracy_lockable_context_data* lockdata )
|
||||
TRACY_API int32_t ___tracy_before_lock_lockable_ctx( TracyCLockCtx lockdata )
|
||||
{
|
||||
return lockdata->ctx.BeforeLock();
|
||||
tracy::LockableCtx *ctx = (tracy::LockableCtx *)lockdata;
|
||||
return ctx->BeforeLock();
|
||||
}
|
||||
|
||||
TRACY_API void ___tracy_after_lock_lockable_ctx( struct __tracy_lockable_context_data* lockdata )
|
||||
TRACY_API void ___tracy_after_lock_lockable_ctx( TracyCLockCtx lockdata )
|
||||
{
|
||||
lockdata->ctx.AfterLock();
|
||||
tracy::LockableCtx *ctx = (tracy::LockableCtx *)lockdata;
|
||||
ctx->AfterLock();
|
||||
}
|
||||
|
||||
TRACY_API void ___tracy_after_unlock_lockable_ctx( struct __tracy_lockable_context_data* lockdata )
|
||||
TRACY_API void ___tracy_after_unlock_lockable_ctx( TracyCLockCtx lockdata )
|
||||
{
|
||||
lockdata->ctx.AfterUnlock();
|
||||
tracy::LockableCtx *ctx = (tracy::LockableCtx *)lockdata;
|
||||
ctx->AfterUnlock();
|
||||
}
|
||||
|
||||
TRACY_API void ___tracy_after_try_lock_lockable_ctx( struct __tracy_lockable_context_data* lockdata, int32_t acquired )
|
||||
TRACY_API void ___tracy_after_try_lock_lockable_ctx( TracyCLockCtx lockdata, int32_t acquired )
|
||||
{
|
||||
lockdata->ctx.AfterTryLock(acquired);
|
||||
tracy::LockableCtx *ctx = (tracy::LockableCtx *)lockdata;
|
||||
ctx->AfterTryLock(acquired);
|
||||
}
|
||||
|
||||
TRACY_API void ___tracy_mark_lockable_ctx(struct __tracy_lockable_context_data *lockdata, const struct ___tracy_source_location_data *srcloc)
|
||||
TRACY_API void ___tracy_mark_lockable_ctx(TracyCLockCtx lockdata, const struct ___tracy_source_location_data *srcloc)
|
||||
{
|
||||
lockdata->ctx.Mark((tracy::SourceLocationData *)srcloc);
|
||||
tracy::LockableCtx *ctx = (tracy::LockableCtx *)lockdata;
|
||||
ctx->Mark((tracy::SourceLocationData *)srcloc);
|
||||
}
|
||||
|
||||
TRACY_API void ___tracy_custom_name_lockable_ctx(struct __tracy_lockable_context_data *lockdata, const char *name, size_t nameSz)
|
||||
TRACY_API void ___tracy_custom_name_lockable_ctx(TracyCLockCtx lockdata, const char *name, size_t nameSz)
|
||||
{
|
||||
lockdata->ctx.CustomName(name, nameSz);
|
||||
tracy::LockableCtx *ctx = (tracy::LockableCtx *)lockdata;
|
||||
ctx->CustomName(name, nameSz);
|
||||
}
|
||||
|
||||
struct __tracy_shared_lockable_context_data
|
||||
{
|
||||
tracy::SharedLockableCtx ctx;
|
||||
};
|
||||
/* ========================== *
|
||||
* Shared lock
|
||||
* ========================== */
|
||||
|
||||
TRACY_API struct __tracy_shared_lockable_context_data* ___tracy_announce_shared_lockable_ctx( const struct ___tracy_source_location_data* srcloc )
|
||||
TRACY_API TracyCSharedLockCtx ___tracy_announce_shared_lockable_ctx(const struct ___tracy_source_location_data *srcloc)
|
||||
{
|
||||
static_assert(sizeof(struct ___tracy_source_location_data) == sizeof(tracy::SourceLocationData)); // C srcloc struct must fit in cpp srcloc struct
|
||||
struct __tracy_shared_lockable_context_data *lockdata = (__tracy_shared_lockable_context_data *)tracy::tracy_malloc(sizeof(__tracy_shared_lockable_context_data));
|
||||
|
||||
// Because Tracy deletes the "=" operator
|
||||
tracy::SharedLockableCtx ctx { (tracy::SourceLocationData *)srcloc };
|
||||
memcpy(&lockdata->ctx, &ctx, sizeof(ctx));
|
||||
|
||||
return lockdata;
|
||||
tracy::SharedLockableCtx *ctx = (tracy::SharedLockableCtx *)tracy::tracy_malloc(sizeof(tracy::SharedLockableCtx));
|
||||
new(ctx) tracy::SharedLockableCtx((tracy::SourceLocationData *)srcloc);
|
||||
return (TracyCSharedLockCtx )ctx;
|
||||
}
|
||||
|
||||
TRACY_API void ___tracy_terminate_shared_lockable_ctx( struct __tracy_shared_lockable_context_data* lockdata )
|
||||
TRACY_API void ___tracy_terminate_shared_lockable_ctx(TracyCSharedLockCtx lockdata)
|
||||
{
|
||||
lockdata->ctx.~SharedLockableCtx();
|
||||
tracy::SharedLockableCtx *ctx = (tracy::SharedLockableCtx *)lockdata;
|
||||
ctx->~SharedLockableCtx();
|
||||
tracy::tracy_free((void *)lockdata);
|
||||
}
|
||||
|
||||
TRACY_API int32_t ___tracy_before_exclusive_lock_shared_lockable_ctx( struct __tracy_shared_lockable_context_data* lockdata )
|
||||
TRACY_API int32_t ___tracy_before_exclusive_lock_shared_lockable_ctx(TracyCSharedLockCtx lockdata)
|
||||
{
|
||||
return lockdata->ctx.BeforeLock();
|
||||
tracy::SharedLockableCtx *ctx = (tracy::SharedLockableCtx *)lockdata;
|
||||
return ctx->BeforeLock();
|
||||
}
|
||||
|
||||
TRACY_API void ___tracy_after_exclusive_lock_shared_lockable_ctx( struct __tracy_shared_lockable_context_data* lockdata )
|
||||
TRACY_API void ___tracy_after_exclusive_lock_shared_lockable_ctx(TracyCSharedLockCtx lockdata)
|
||||
{
|
||||
lockdata->ctx.AfterLock();
|
||||
tracy::SharedLockableCtx *ctx = (tracy::SharedLockableCtx *)lockdata;
|
||||
ctx->AfterLock();
|
||||
}
|
||||
|
||||
TRACY_API void ___tracy_after_exclusive_unlock_shared_lockable_ctx( struct __tracy_shared_lockable_context_data* lockdata )
|
||||
TRACY_API void ___tracy_after_exclusive_unlock_shared_lockable_ctx(TracyCSharedLockCtx lockdata)
|
||||
{
|
||||
lockdata->ctx.AfterUnlock();
|
||||
tracy::SharedLockableCtx *ctx = (tracy::SharedLockableCtx *)lockdata;
|
||||
ctx->AfterUnlock();
|
||||
}
|
||||
|
||||
TRACY_API void ___tracy_after_try_exclusive_lock_shared_lockable_ctx( struct __tracy_shared_lockable_context_data* lockdata, int32_t acquired )
|
||||
TRACY_API void ___tracy_after_try_exclusive_lock_shared_lockable_ctx(TracyCSharedLockCtx lockdata, int32_t acquired)
|
||||
{
|
||||
lockdata->ctx.AfterTryLock(acquired);
|
||||
tracy::SharedLockableCtx *ctx = (tracy::SharedLockableCtx *)lockdata;
|
||||
ctx->AfterTryLock(acquired);
|
||||
}
|
||||
|
||||
TRACY_API int32_t ___tracy_before_shared_lock_shared_lockable_ctx(struct __tracy_shared_lockable_context_data *lockdata)
|
||||
TRACY_API int32_t ___tracy_before_shared_lock_shared_lockable_ctx(TracyCSharedLockCtx lockdata)
|
||||
{
|
||||
return lockdata->ctx.BeforeLockShared();
|
||||
tracy::SharedLockableCtx *ctx = (tracy::SharedLockableCtx *)lockdata;
|
||||
return ctx->BeforeLockShared();
|
||||
}
|
||||
|
||||
TRACY_API void ___tracy_after_shared_lock_shared_lockable_ctx(struct __tracy_shared_lockable_context_data *lockdata)
|
||||
TRACY_API void ___tracy_after_shared_lock_shared_lockable_ctx(TracyCSharedLockCtx lockdata)
|
||||
{
|
||||
lockdata->ctx.AfterLockShared();
|
||||
tracy::SharedLockableCtx *ctx = (tracy::SharedLockableCtx *)lockdata;
|
||||
ctx->AfterLockShared();
|
||||
}
|
||||
|
||||
TRACY_API void ___tracy_after_try_shared_lock_shared_lockable_ctx(struct __tracy_shared_lockable_context_data *lockdata, int32_t acquired)
|
||||
TRACY_API void ___tracy_after_try_shared_lock_shared_lockable_ctx(TracyCSharedLockCtx lockdata, int32_t acquired)
|
||||
{
|
||||
lockdata->ctx.AfterTryLockShared(acquired);
|
||||
tracy::SharedLockableCtx *ctx = (tracy::SharedLockableCtx *)lockdata;
|
||||
ctx->AfterTryLockShared(acquired);
|
||||
}
|
||||
|
||||
TRACY_API void ___tracy_after_shared_unlock_shared_lockable_ctx(struct __tracy_shared_lockable_context_data *lockdata)
|
||||
TRACY_API void ___tracy_after_shared_unlock_shared_lockable_ctx(TracyCSharedLockCtx lockdata)
|
||||
{
|
||||
lockdata->ctx.AfterUnlockShared();
|
||||
tracy::SharedLockableCtx *ctx = (tracy::SharedLockableCtx *)lockdata;
|
||||
ctx->AfterUnlockShared();
|
||||
}
|
||||
|
||||
TRACY_API void ___tracy_mark_shared_lockable_ctx(struct __tracy_shared_lockable_context_data *lockdata, const struct ___tracy_source_location_data *srcloc)
|
||||
TRACY_API void ___tracy_mark_shared_lockable_ctx(TracyCSharedLockCtx lockdata, const struct ___tracy_source_location_data *srcloc)
|
||||
{
|
||||
lockdata->ctx.Mark((tracy::SourceLocationData *)srcloc);
|
||||
tracy::SharedLockableCtx *ctx = (tracy::SharedLockableCtx *)lockdata;
|
||||
ctx->Mark((tracy::SourceLocationData *)srcloc);
|
||||
}
|
||||
|
||||
TRACY_API void ___tracy_custom_name_shared_lockable_ctx(struct __tracy_shared_lockable_context_data *lockdata, const char *name, size_t nameSz)
|
||||
TRACY_API void ___tracy_custom_name_shared_lockable_ctx(TracyCSharedLockCtx lockdata, const char *name, size_t nameSz)
|
||||
{
|
||||
lockdata->ctx.CustomName(name, nameSz);
|
||||
tracy::SharedLockableCtx *ctx = (tracy::SharedLockableCtx *)lockdata;
|
||||
ctx->CustomName(name, nameSz);
|
||||
}
|
||||
|
||||
/* ========================== *
|
||||
* Other
|
||||
* ========================== */
|
||||
|
||||
TRACY_API int32_t ___tracy_connected( void )
|
||||
{
|
||||
return static_cast<int32_t>( tracy::GetProfiler().IsConnected() );
|
||||
|
||||
50
src/third_party/tracy/tracy/TracyC.h
vendored
50
src/third_party/tracy/tracy/TracyC.h
vendored
@ -38,8 +38,8 @@ TRACY_API void ___tracy_set_thread_name( const char* name );
|
||||
|
||||
typedef const void* TracyCZoneCtx;
|
||||
|
||||
typedef const void* TracyCLockCtx;
|
||||
typedef const void* TracyCSharedLockCtx;
|
||||
typedef void *TracyCLockCtx;
|
||||
typedef void *TracyCSharedLockCtx;
|
||||
|
||||
#define TracyCZone(c,x)
|
||||
#define TracyCZoneN(c,x,y)
|
||||
@ -208,14 +208,12 @@ struct ___tracy_gpu_time_sync_data {
|
||||
uint8_t context;
|
||||
};
|
||||
|
||||
struct __tracy_lockable_context_data;
|
||||
|
||||
// Some containers don't support storing const types.
|
||||
// This struct, as visible to user, is immutable, so treat it as if const was declared here.
|
||||
typedef /*const*/ struct ___tracy_c_zone_context TracyCZoneCtx;
|
||||
|
||||
typedef struct __tracy_lockable_context_data* TracyCLockCtx;
|
||||
typedef struct __tracy_lockable_context_data *TracyCSharedLockCtx;
|
||||
typedef void *TracyCLockCtx;
|
||||
typedef void *TracyCSharedLockCtx;
|
||||
|
||||
#ifdef TRACY_MANUAL_LIFETIME
|
||||
TRACY_API void ___tracy_startup_profiler(void);
|
||||
@ -363,14 +361,14 @@ TRACY_API void ___tracy_emit_message_appinfo( const char* txt, size_t size );
|
||||
#define TracyCMessageLCS( txt, color, depth ) ___tracy_emit_messageLC( txt, color, depth );
|
||||
|
||||
|
||||
TRACY_API struct __tracy_lockable_context_data* ___tracy_announce_lockable_ctx( const struct ___tracy_source_location_data* srcloc );
|
||||
TRACY_API void ___tracy_terminate_lockable_ctx( struct __tracy_lockable_context_data* lockdata );
|
||||
TRACY_API int32_t ___tracy_before_lock_lockable_ctx( struct __tracy_lockable_context_data* lockdata );
|
||||
TRACY_API void ___tracy_after_lock_lockable_ctx( struct __tracy_lockable_context_data* lockdata );
|
||||
TRACY_API void ___tracy_after_unlock_lockable_ctx( struct __tracy_lockable_context_data* lockdata );
|
||||
TRACY_API void ___tracy_after_try_lock_lockable_ctx( struct __tracy_lockable_context_data* lockdata, int32_t acquired );
|
||||
TRACY_API void ___tracy_mark_lockable_ctx( struct __tracy_lockable_context_data* lockdata, const struct ___tracy_source_location_data* srcloc );
|
||||
TRACY_API void ___tracy_custom_name_lockable_ctx( struct __tracy_lockable_context_data* lockdata, const char* name, size_t nameSz );
|
||||
TRACY_API TracyCLockCtx ___tracy_announce_lockable_ctx(const struct ___tracy_source_location_data *srcloc);
|
||||
TRACY_API void ___tracy_terminate_lockable_ctx(TracyCLockCtx lockdata);
|
||||
TRACY_API int32_t ___tracy_before_lock_lockable_ctx(TracyCLockCtx lockdata);
|
||||
TRACY_API void ___tracy_after_lock_lockable_ctx(TracyCLockCtx lockdata);
|
||||
TRACY_API void ___tracy_after_unlock_lockable_ctx(TracyCLockCtx lockdata);
|
||||
TRACY_API void ___tracy_after_try_lock_lockable_ctx(TracyCLockCtx lockdata, int32_t acquired);
|
||||
TRACY_API void ___tracy_mark_lockable_ctx(TracyCLockCtx lockdata, const struct ___tracy_source_location_data *srcloc);
|
||||
TRACY_API void ___tracy_custom_name_lockable_ctx(TracyCLockCtx lockdata, const char* name, size_t nameSz );
|
||||
|
||||
#define TracyCLockAnnounce( lock ) static const struct ___tracy_source_location_data TracyConcat(__tracy_source_location,TracyLine) = { NULL, __func__, TracyFile, (uint32_t)TracyLine, 0 }; lock = ___tracy_announce_lockable_ctx( &TracyConcat(__tracy_source_location,TracyLine) );
|
||||
#define TracyCLockTerminate( lock ) ___tracy_terminate_lockable_ctx( lock );
|
||||
@ -381,18 +379,18 @@ TRACY_API void ___tracy_custom_name_lockable_ctx( struct __tracy_lockable_contex
|
||||
#define TracyCLockMark( lock ) static const struct ___tracy_source_location_data TracyConcat(__tracy_source_location,TracyLine) = { NULL, __func__, TracyFile, (uint32_t)TracyLine, 0 }; ___tracy_mark_lockable_ctx( lock, &TracyConcat(__tracy_source_location,TracyLine) );
|
||||
#define TracyCLockCustomName( lock, name, nameSz ) ___tracy_custom_name_lockable_ctx( lock, name, nameSz );
|
||||
|
||||
TRACY_API struct __tracy_shared_lockable_context_data *___tracy_announce_shared_lockable_ctx(const struct ___tracy_source_location_data *srcloc);
|
||||
TRACY_API void ___tracy_terminate_shared_lockable_ctx(struct __tracy_shared_lockable_context_data *lockdata);
|
||||
TRACY_API int32_t ___tracy_before_exclusive_lock_shared_lockable_ctx(struct __tracy_shared_lockable_context_data *lockdata);
|
||||
TRACY_API void ___tracy_after_exclusive_lock_shared_lockable_ctx(struct __tracy_shared_lockable_context_data *lockdata);
|
||||
TRACY_API void ___tracy_after_exclusive_unlock_shared_lockable_ctx(struct __tracy_shared_lockable_context_data *lockdata);
|
||||
TRACY_API void ___tracy_after_try_exclusive_lock_shared_lockable_ctx(struct __tracy_shared_lockable_context_data *lockdata, int32_t acquired);
|
||||
TRACY_API int32_t ___tracy_before_shared_lock_shared_lockable_ctx(struct __tracy_shared_lockable_context_data *lockdata);
|
||||
TRACY_API void ___tracy_after_shared_lock_shared_lockable_ctx(struct __tracy_shared_lockable_context_data *lockdata);
|
||||
TRACY_API void ___tracy_after_shared_unlock_shared_lockable_ctx(struct __tracy_shared_lockable_context_data *lockdata);
|
||||
TRACY_API void ___tracy_after_try_shared_lock_shared_lockable_ctx(struct __tracy_shared_lockable_context_data *lockdata, int32_t acquired);
|
||||
TRACY_API void ___tracy_mark_shared_lockable_ctx(struct __tracy_shared_lockable_context_data *lockdata, const struct ___tracy_source_location_data *srcloc);
|
||||
TRACY_API void ___tracy_custom_name_shared_lockable_ctx(struct __tracy_shared_lockable_context_data *lockdata, const char *name, size_t nameSz);
|
||||
TRACY_API TracyCSharedLockCtx ___tracy_announce_shared_lockable_ctx(const struct ___tracy_source_location_data *srcloc);
|
||||
TRACY_API void ___tracy_terminate_shared_lockable_ctx(TracyCSharedLockCtx lockdata);
|
||||
TRACY_API int32_t ___tracy_before_exclusive_lock_shared_lockable_ctx(TracyCSharedLockCtx lockdata);
|
||||
TRACY_API void ___tracy_after_exclusive_lock_shared_lockable_ctx(TracyCSharedLockCtx lockdata);
|
||||
TRACY_API void ___tracy_after_exclusive_unlock_shared_lockable_ctx(TracyCSharedLockCtx lockdata);
|
||||
TRACY_API void ___tracy_after_try_exclusive_lock_shared_lockable_ctx(TracyCSharedLockCtx lockdata, int32_t acquired);
|
||||
TRACY_API int32_t ___tracy_before_shared_lock_shared_lockable_ctx(TracyCSharedLockCtx lockdata);
|
||||
TRACY_API void ___tracy_after_shared_lock_shared_lockable_ctx(TracyCSharedLockCtx lockdata);
|
||||
TRACY_API void ___tracy_after_shared_unlock_shared_lockable_ctx(TracyCSharedLockCtx lockdata);
|
||||
TRACY_API void ___tracy_after_try_shared_lock_shared_lockable_ctx(TracyCSharedLockCtx lockdata, int32_t acquired);
|
||||
TRACY_API void ___tracy_mark_shared_lockable_ctx(TracyCSharedLockCtx lockdata, const struct ___tracy_source_location_data *srcloc);
|
||||
TRACY_API void ___tracy_custom_name_shared_lockable_ctx(TracyCSharedLockCtx lockdata, const char *name, size_t nameSz);
|
||||
|
||||
#define TracyCSharedLockAnnounce( lock ) static const struct ___tracy_source_location_data TracyConcat(__tracy_source_location,TracyLine) = { NULL, __func__, TracyFile, (uint32_t)TracyLine, 0 }; lock = ___tracy_announce_shared_lockable_ctx( &TracyConcat(__tracy_source_location,TracyLine) );
|
||||
#define TracyCSharedLockTerminate( lock ) ___tracy_terminate_shared_lockable_ctx( lock );
|
||||
|
||||
Loading…
Reference in New Issue
Block a user