1
0
mirror of https://github.com/wolfpld/tracy synced 2025-04-29 12:23:53 +00:00

Use possibly-synchronous macros for C API zones.

This commit is contained in:
Bartosz Taudul 2021-10-09 15:51:29 +02:00
parent 2cea5bc5b2
commit 909f5916b1
No known key found for this signature in database
GPG Key ID: B7FE2008B7575DF3

View File

@ -3436,16 +3436,16 @@ TRACY_API TracyCZoneCtx ___tracy_emit_zone_begin( const struct ___tracy_source_l
#ifndef TRACY_NO_VERIFY #ifndef TRACY_NO_VERIFY
{ {
TracyLfqPrepareC( tracy::QueueType::ZoneValidation ); TracyQueuePrepareC( tracy::QueueType::ZoneValidation );
tracy::MemWrite( &item->zoneValidation.id, id ); tracy::MemWrite( &item->zoneValidation.id, id );
TracyLfqCommitC; TracyQueueCommitC( zoneValidationThread );
} }
#endif #endif
{ {
TracyLfqPrepareC( tracy::QueueType::ZoneBegin ); TracyQueuePrepareC( tracy::QueueType::ZoneBegin );
tracy::MemWrite( &item->zoneBegin.time, tracy::Profiler::GetTime() ); tracy::MemWrite( &item->zoneBegin.time, tracy::Profiler::GetTime() );
tracy::MemWrite( &item->zoneBegin.srcloc, (uint64_t)srcloc ); tracy::MemWrite( &item->zoneBegin.srcloc, (uint64_t)srcloc );
TracyLfqCommitC; TracyQueueCommitC( zoneBeginThread );
} }
return ctx; return ctx;
} }
@ -3464,17 +3464,17 @@ TRACY_API TracyCZoneCtx ___tracy_emit_zone_begin_callstack( const struct ___trac
#ifndef TRACY_NO_VERIFY #ifndef TRACY_NO_VERIFY
{ {
TracyLfqPrepareC( tracy::QueueType::ZoneValidation ); TracyQueuePrepareC( tracy::QueueType::ZoneValidation );
tracy::MemWrite( &item->zoneValidation.id, id ); tracy::MemWrite( &item->zoneValidation.id, id );
TracyLfqCommitC; TracyQueueCommitC( zoneValidationThread );
} }
#endif #endif
tracy::GetProfiler().SendCallstack( depth ); tracy::GetProfiler().SendCallstack( depth );
{ {
TracyLfqPrepareC( tracy::QueueType::ZoneBeginCallstack ); TracyQueuePrepareC( tracy::QueueType::ZoneBeginCallstack );
tracy::MemWrite( &item->zoneBegin.time, tracy::Profiler::GetTime() ); tracy::MemWrite( &item->zoneBegin.time, tracy::Profiler::GetTime() );
tracy::MemWrite( &item->zoneBegin.srcloc, (uint64_t)srcloc ); tracy::MemWrite( &item->zoneBegin.srcloc, (uint64_t)srcloc );
TracyLfqCommitC; TracyQueueCommitC( zoneBeginThread );
} }
return ctx; return ctx;
} }
@ -3497,16 +3497,16 @@ TRACY_API TracyCZoneCtx ___tracy_emit_zone_begin_alloc( uint64_t srcloc, int act
#ifndef TRACY_NO_VERIFY #ifndef TRACY_NO_VERIFY
{ {
TracyLfqPrepareC( tracy::QueueType::ZoneValidation ); TracyQueuePrepareC( tracy::QueueType::ZoneValidation );
tracy::MemWrite( &item->zoneValidation.id, id ); tracy::MemWrite( &item->zoneValidation.id, id );
TracyLfqCommitC; TracyQueueCommitC( zoneValidationThread );
} }
#endif #endif
{ {
TracyLfqPrepareC( tracy::QueueType::ZoneBeginAllocSrcLoc ); TracyQueuePrepareC( tracy::QueueType::ZoneBeginAllocSrcLoc );
tracy::MemWrite( &item->zoneBegin.time, tracy::Profiler::GetTime() ); tracy::MemWrite( &item->zoneBegin.time, tracy::Profiler::GetTime() );
tracy::MemWrite( &item->zoneBegin.srcloc, srcloc ); tracy::MemWrite( &item->zoneBegin.srcloc, srcloc );
TracyLfqCommitC; TracyQueueCommitC( zoneBeginThread );
} }
return ctx; return ctx;
} }
@ -3529,17 +3529,17 @@ TRACY_API TracyCZoneCtx ___tracy_emit_zone_begin_alloc_callstack( uint64_t srclo
#ifndef TRACY_NO_VERIFY #ifndef TRACY_NO_VERIFY
{ {
TracyLfqPrepareC( tracy::QueueType::ZoneValidation ); TracyQueuePrepareC( tracy::QueueType::ZoneValidation );
tracy::MemWrite( &item->zoneValidation.id, id ); tracy::MemWrite( &item->zoneValidation.id, id );
TracyLfqCommitC; TracyQueueCommitC( zoneValidationThread );
} }
#endif #endif
tracy::GetProfiler().SendCallstack( depth ); tracy::GetProfiler().SendCallstack( depth );
{ {
TracyLfqPrepareC( tracy::QueueType::ZoneBeginAllocSrcLocCallstack ); TracyQueuePrepareC( tracy::QueueType::ZoneBeginAllocSrcLocCallstack );
tracy::MemWrite( &item->zoneBegin.time, tracy::Profiler::GetTime() ); tracy::MemWrite( &item->zoneBegin.time, tracy::Profiler::GetTime() );
tracy::MemWrite( &item->zoneBegin.srcloc, srcloc ); tracy::MemWrite( &item->zoneBegin.srcloc, srcloc );
TracyLfqCommitC; TracyQueueCommitC( zoneBeginThread );
} }
return ctx; return ctx;
} }
@ -3549,15 +3549,15 @@ TRACY_API void ___tracy_emit_zone_end( TracyCZoneCtx ctx )
if( !ctx.active ) return; if( !ctx.active ) return;
#ifndef TRACY_NO_VERIFY #ifndef TRACY_NO_VERIFY
{ {
TracyLfqPrepareC( tracy::QueueType::ZoneValidation ); TracyQueuePrepareC( tracy::QueueType::ZoneValidation );
tracy::MemWrite( &item->zoneValidation.id, ctx.id ); tracy::MemWrite( &item->zoneValidation.id, ctx.id );
TracyLfqCommitC; TracyQueueCommitC( zoneValidationThread );
} }
#endif #endif
{ {
TracyLfqPrepareC( tracy::QueueType::ZoneEnd ); TracyQueuePrepareC( tracy::QueueType::ZoneEnd );
tracy::MemWrite( &item->zoneEnd.time, tracy::Profiler::GetTime() ); tracy::MemWrite( &item->zoneEnd.time, tracy::Profiler::GetTime() );
TracyLfqCommitC; TracyQueueCommitC( zoneEndThread );
} }
} }
@ -3569,16 +3569,16 @@ TRACY_API void ___tracy_emit_zone_text( TracyCZoneCtx ctx, const char* txt, size
memcpy( ptr, txt, size ); memcpy( ptr, txt, size );
#ifndef TRACY_NO_VERIFY #ifndef TRACY_NO_VERIFY
{ {
TracyLfqPrepareC( tracy::QueueType::ZoneValidation ); TracyQueuePrepareC( tracy::QueueType::ZoneValidation );
tracy::MemWrite( &item->zoneValidation.id, ctx.id ); tracy::MemWrite( &item->zoneValidation.id, ctx.id );
TracyLfqCommitC; TracyQueueCommitC( zoneValidationThread );
} }
#endif #endif
{ {
TracyLfqPrepareC( tracy::QueueType::ZoneText ); TracyQueuePrepareC( tracy::QueueType::ZoneText );
tracy::MemWrite( &item->zoneTextFat.text, (uint64_t)ptr ); tracy::MemWrite( &item->zoneTextFat.text, (uint64_t)ptr );
tracy::MemWrite( &item->zoneTextFat.size, (uint16_t)size ); tracy::MemWrite( &item->zoneTextFat.size, (uint16_t)size );
TracyLfqCommitC; TracyQueueCommitC( zoneTextFatThread );
} }
} }
@ -3590,16 +3590,16 @@ TRACY_API void ___tracy_emit_zone_name( TracyCZoneCtx ctx, const char* txt, size
memcpy( ptr, txt, size ); memcpy( ptr, txt, size );
#ifndef TRACY_NO_VERIFY #ifndef TRACY_NO_VERIFY
{ {
TracyLfqPrepareC( tracy::QueueType::ZoneValidation ); TracyQueuePrepareC( tracy::QueueType::ZoneValidation );
tracy::MemWrite( &item->zoneValidation.id, ctx.id ); tracy::MemWrite( &item->zoneValidation.id, ctx.id );
TracyLfqCommitC; TracyQueueCommitC( zoneValidationThread );
} }
#endif #endif
{ {
TracyLfqPrepareC( tracy::QueueType::ZoneName ); TracyQueuePrepareC( tracy::QueueType::ZoneName );
tracy::MemWrite( &item->zoneTextFat.text, (uint64_t)ptr ); tracy::MemWrite( &item->zoneTextFat.text, (uint64_t)ptr );
tracy::MemWrite( &item->zoneTextFat.size, (uint16_t)size ); tracy::MemWrite( &item->zoneTextFat.size, (uint16_t)size );
TracyLfqCommitC; TracyQueueCommitC( zoneTextFatThread );
} }
} }
@ -3607,17 +3607,17 @@ TRACY_API void ___tracy_emit_zone_color( TracyCZoneCtx ctx, uint32_t color ) {
if( !ctx.active ) return; if( !ctx.active ) return;
#ifndef TRACY_NO_VERIFY #ifndef TRACY_NO_VERIFY
{ {
TracyLfqPrepareC( tracy::QueueType::ZoneValidation ); TracyQueuePrepareC( tracy::QueueType::ZoneValidation );
tracy::MemWrite( &item->zoneValidation.id, ctx.id ); tracy::MemWrite( &item->zoneValidation.id, ctx.id );
TracyLfqCommitC; TracyQueueCommitC( zoneValidationThread );
} }
#endif #endif
{ {
TracyLfqPrepareC( tracy::QueueType::ZoneColor ); TracyQueuePrepareC( tracy::QueueType::ZoneColor );
tracy::MemWrite( &item->zoneColor.r, uint8_t( ( color ) & 0xFF ) ); tracy::MemWrite( &item->zoneColor.r, uint8_t( ( color ) & 0xFF ) );
tracy::MemWrite( &item->zoneColor.g, uint8_t( ( color >> 8 ) & 0xFF ) ); tracy::MemWrite( &item->zoneColor.g, uint8_t( ( color >> 8 ) & 0xFF ) );
tracy::MemWrite( &item->zoneColor.b, uint8_t( ( color >> 16 ) & 0xFF ) ); tracy::MemWrite( &item->zoneColor.b, uint8_t( ( color >> 16 ) & 0xFF ) );
TracyLfqCommitC; TracyQueueCommitC( zoneColorThread );
} }
} }
@ -3626,15 +3626,15 @@ TRACY_API void ___tracy_emit_zone_value( TracyCZoneCtx ctx, uint64_t value )
if( !ctx.active ) return; if( !ctx.active ) return;
#ifndef TRACY_NO_VERIFY #ifndef TRACY_NO_VERIFY
{ {
TracyLfqPrepareC( tracy::QueueType::ZoneValidation ); TracyQueuePrepareC( tracy::QueueType::ZoneValidation );
tracy::MemWrite( &item->zoneValidation.id, ctx.id ); tracy::MemWrite( &item->zoneValidation.id, ctx.id );
TracyLfqCommitC; TracyQueueCommitC( zoneValidationThread );
} }
#endif #endif
{ {
TracyLfqPrepareC( tracy::QueueType::ZoneValue ); TracyQueuePrepareC( tracy::QueueType::ZoneValue );
tracy::MemWrite( &item->zoneValue.value, value ); tracy::MemWrite( &item->zoneValue.value, value );
TracyLfqCommitC; TracyQueueCommitC( zoneValueThread );
} }
} }