mirror of
https://github.com/wolfpld/tracy.git
synced 2024-11-10 10:41:50 +00:00
Merge pull request #466 from Pilzschaf/gpu_c_api_improvements
Added gpu zone begin non-alloc and callstack variants to the C API
This commit is contained in:
commit
ae0fe3cc93
@ -4164,6 +4164,29 @@ TRACY_API uint64_t ___tracy_alloc_srcloc_name( uint32_t line, const char* source
|
|||||||
return tracy::Profiler::AllocSourceLocation( line, source, sourceSz, function, functionSz, name, nameSz );
|
return tracy::Profiler::AllocSourceLocation( line, source, sourceSz, function, functionSz, name, nameSz );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TRACY_API void ___tracy_emit_gpu_zone_begin( const struct ___tracy_gpu_zone_begin_data data )
|
||||||
|
{
|
||||||
|
TracyLfqPrepareC( tracy::QueueType::GpuZoneBegin );
|
||||||
|
tracy::MemWrite( &item->gpuZoneBegin.cpuTime, tracy::Profiler::GetTime() );
|
||||||
|
tracy::MemWrite( &item->gpuNewContext.thread, tracy::GetThreadHandle() );
|
||||||
|
tracy::MemWrite( &item->gpuZoneBegin.srcloc, data.srcloc );
|
||||||
|
tracy::MemWrite( &item->gpuZoneBegin.queryId, data.queryId );
|
||||||
|
tracy::MemWrite( &item->gpuZoneBegin.context, data.context );
|
||||||
|
TracyLfqCommitC;
|
||||||
|
}
|
||||||
|
|
||||||
|
TRACY_API void ___tracy_emit_gpu_zone_begin_callstack( const struct ___tracy_gpu_zone_begin_callstack_data data )
|
||||||
|
{
|
||||||
|
tracy::GetProfiler().SendCallstack( data.depth );
|
||||||
|
TracyLfqPrepareC( tracy::QueueType::GpuZoneBeginCallstack );
|
||||||
|
tracy::MemWrite( &item->gpuZoneBegin.thread, tracy::GetThreadHandle() );
|
||||||
|
tracy::MemWrite( &item->gpuZoneBegin.cpuTime, tracy::Profiler::GetTime() );
|
||||||
|
tracy::MemWrite( &item->gpuZoneBegin.queryId, data.queryId );
|
||||||
|
tracy::MemWrite( &item->gpuZoneBegin.context, data.context );
|
||||||
|
tracy::MemWrite( &item->gpuZoneBegin.srcloc, data.srcloc );
|
||||||
|
TracyLfqCommitC;
|
||||||
|
}
|
||||||
|
|
||||||
TRACY_API void ___tracy_emit_gpu_zone_begin_alloc( const struct ___tracy_gpu_zone_begin_data data )
|
TRACY_API void ___tracy_emit_gpu_zone_begin_alloc( const struct ___tracy_gpu_zone_begin_data data )
|
||||||
{
|
{
|
||||||
TracyLfqPrepareC( tracy::QueueType::GpuZoneBeginAllocSrcLoc );
|
TracyLfqPrepareC( tracy::QueueType::GpuZoneBeginAllocSrcLoc );
|
||||||
@ -4175,6 +4198,18 @@ TRACY_API void ___tracy_emit_gpu_zone_begin_alloc( const struct ___tracy_gpu_zon
|
|||||||
TracyLfqCommitC;
|
TracyLfqCommitC;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TRACY_API void ___tracy_emit_gpu_zone_begin_alloc_callstack( const struct ___tracy_gpu_zone_begin_callstack_data data )
|
||||||
|
{
|
||||||
|
tracy::GetProfiler().SendCallstack( data.depth );
|
||||||
|
TracyLfqPrepareC( tracy::QueueType::GpuZoneBeginAllocSrcLocCallstack );
|
||||||
|
tracy::MemWrite( &item->gpuZoneBegin.cpuTime, tracy::Profiler::GetTime() );
|
||||||
|
tracy::MemWrite( &item->gpuNewContext.thread, tracy::GetThreadHandle() );
|
||||||
|
tracy::MemWrite( &item->gpuZoneBegin.srcloc, data.srcloc );
|
||||||
|
tracy::MemWrite( &item->gpuZoneBegin.queryId, data.queryId );
|
||||||
|
tracy::MemWrite( &item->gpuZoneBegin.context, data.context );
|
||||||
|
TracyLfqCommitC;
|
||||||
|
}
|
||||||
|
|
||||||
TRACY_API void ___tracy_emit_gpu_time( const struct ___tracy_gpu_time_data data )
|
TRACY_API void ___tracy_emit_gpu_time( const struct ___tracy_gpu_time_data data )
|
||||||
{
|
{
|
||||||
TracyLfqPrepareC( tracy::QueueType::GpuTime );
|
TracyLfqPrepareC( tracy::QueueType::GpuTime );
|
||||||
@ -4229,6 +4264,30 @@ TRACY_API void ___tracy_emit_gpu_calibration( const struct ___tracy_gpu_calibrat
|
|||||||
TracyLfqCommitC;
|
TracyLfqCommitC;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TRACY_API void ___tracy_emit_gpu_zone_begin_serial( const struct ___tracy_gpu_zone_begin_data data )
|
||||||
|
{
|
||||||
|
auto item = tracy::Profiler::QueueSerial();
|
||||||
|
tracy::MemWrite( &item->hdr.type, tracy::QueueType::GpuZoneBeginSerial );
|
||||||
|
tracy::MemWrite( &item->gpuZoneBegin.cpuTime, tracy::Profiler::GetTime() );
|
||||||
|
tracy::MemWrite( &item->gpuZoneBegin.srcloc, data.srcloc );
|
||||||
|
tracy::MemWrite( &item->gpuZoneBegin.thread, tracy::GetThreadHandle() );
|
||||||
|
tracy::MemWrite( &item->gpuZoneBegin.queryId, data.queryId );
|
||||||
|
tracy::MemWrite( &item->gpuZoneBegin.context, data.context );
|
||||||
|
tracy::Profiler::QueueSerialFinish();
|
||||||
|
}
|
||||||
|
|
||||||
|
TRACY_API void ___tracy_emit_gpu_zone_begin_callstack_serial( const struct ___tracy_gpu_zone_begin_callstack_data data )
|
||||||
|
{
|
||||||
|
auto item = tracy::Profiler::QueueSerialCallstack( tracy::Callstack( data.depth ) );
|
||||||
|
tracy::MemWrite( &item->hdr.type, tracy::QueueType::GpuZoneBeginCallstackSerial );
|
||||||
|
tracy::MemWrite( &item->gpuZoneBegin.cpuTime, tracy::Profiler::GetTime() );
|
||||||
|
tracy::MemWrite( &item->gpuZoneBegin.srcloc, data.srcloc );
|
||||||
|
tracy::MemWrite( &item->gpuZoneBegin.thread, tracy::GetThreadHandle() );
|
||||||
|
tracy::MemWrite( &item->gpuZoneBegin.queryId, data.queryId );
|
||||||
|
tracy::MemWrite( &item->gpuZoneBegin.context, data.context );
|
||||||
|
tracy::Profiler::QueueSerialFinish();
|
||||||
|
}
|
||||||
|
|
||||||
TRACY_API void ___tracy_emit_gpu_zone_begin_alloc_serial( const struct ___tracy_gpu_zone_begin_data data )
|
TRACY_API void ___tracy_emit_gpu_zone_begin_alloc_serial( const struct ___tracy_gpu_zone_begin_data data )
|
||||||
{
|
{
|
||||||
auto item = tracy::Profiler::QueueSerial();
|
auto item = tracy::Profiler::QueueSerial();
|
||||||
@ -4241,6 +4300,18 @@ TRACY_API void ___tracy_emit_gpu_zone_begin_alloc_serial( const struct ___tracy_
|
|||||||
tracy::Profiler::QueueSerialFinish();
|
tracy::Profiler::QueueSerialFinish();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TRACY_API void ___tracy_emit_gpu_zone_begin_alloc_callstack_serial( const struct ___tracy_gpu_zone_begin_callstack_data data )
|
||||||
|
{
|
||||||
|
auto item = tracy::Profiler::QueueSerialCallstack( tracy::Callstack( data.depth ) );
|
||||||
|
tracy::MemWrite( &item->hdr.type, tracy::QueueType::GpuZoneBeginAllocSrcLocCallstackSerial );
|
||||||
|
tracy::MemWrite( &item->gpuZoneBegin.cpuTime, tracy::Profiler::GetTime() );
|
||||||
|
tracy::MemWrite( &item->gpuNewContext.thread, tracy::GetThreadHandle() );
|
||||||
|
tracy::MemWrite( &item->gpuZoneBegin.srcloc, data.srcloc );
|
||||||
|
tracy::MemWrite( &item->gpuZoneBegin.queryId, data.queryId );
|
||||||
|
tracy::MemWrite( &item->gpuZoneBegin.context, data.context );
|
||||||
|
tracy::Profiler::QueueSerialFinish();
|
||||||
|
}
|
||||||
|
|
||||||
TRACY_API void ___tracy_emit_gpu_time_serial( const struct ___tracy_gpu_time_data data )
|
TRACY_API void ___tracy_emit_gpu_time_serial( const struct ___tracy_gpu_time_data data )
|
||||||
{
|
{
|
||||||
auto item = tracy::Profiler::QueueSerial();
|
auto item = tracy::Profiler::QueueSerial();
|
||||||
|
@ -117,6 +117,13 @@ struct ___tracy_gpu_zone_begin_data {
|
|||||||
uint8_t context;
|
uint8_t context;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct ___tracy_gpu_zone_begin_callstack_data {
|
||||||
|
uint64_t srcloc;
|
||||||
|
int depth;
|
||||||
|
uint16_t queryId;
|
||||||
|
uint8_t context;
|
||||||
|
};
|
||||||
|
|
||||||
struct ___tracy_gpu_zone_end_data {
|
struct ___tracy_gpu_zone_end_data {
|
||||||
uint16_t queryId;
|
uint16_t queryId;
|
||||||
uint8_t context;
|
uint8_t context;
|
||||||
@ -165,14 +172,20 @@ TRACY_API void ___tracy_emit_zone_name( TracyCZoneCtx ctx, const char* txt, size
|
|||||||
TRACY_API void ___tracy_emit_zone_color( TracyCZoneCtx ctx, uint32_t color );
|
TRACY_API void ___tracy_emit_zone_color( TracyCZoneCtx ctx, uint32_t color );
|
||||||
TRACY_API void ___tracy_emit_zone_value( TracyCZoneCtx ctx, uint64_t value );
|
TRACY_API void ___tracy_emit_zone_value( TracyCZoneCtx ctx, uint64_t value );
|
||||||
|
|
||||||
|
TRACY_API void ___tracy_emit_gpu_zone_begin( const struct ___tracy_gpu_zone_begin_data );
|
||||||
|
TRACY_API void ___tracy_emit_gpu_zone_begin_callstack( const struct ___tracy_gpu_zone_begin_callstack_data );
|
||||||
TRACY_API void ___tracy_emit_gpu_zone_begin_alloc( const struct ___tracy_gpu_zone_begin_data );
|
TRACY_API void ___tracy_emit_gpu_zone_begin_alloc( const struct ___tracy_gpu_zone_begin_data );
|
||||||
|
TRACY_API void ___tracy_emit_gpu_zone_begin_alloc_callstack( const struct ___tracy_gpu_zone_begin_callstack_data );
|
||||||
TRACY_API void ___tracy_emit_gpu_zone_end( const struct ___tracy_gpu_zone_end_data data );
|
TRACY_API void ___tracy_emit_gpu_zone_end( const struct ___tracy_gpu_zone_end_data data );
|
||||||
TRACY_API void ___tracy_emit_gpu_time( const struct ___tracy_gpu_time_data );
|
TRACY_API void ___tracy_emit_gpu_time( const struct ___tracy_gpu_time_data );
|
||||||
TRACY_API void ___tracy_emit_gpu_new_context( const struct ___tracy_gpu_new_context_data );
|
TRACY_API void ___tracy_emit_gpu_new_context( const struct ___tracy_gpu_new_context_data );
|
||||||
TRACY_API void ___tracy_emit_gpu_context_name( const struct ___tracy_gpu_context_name_data );
|
TRACY_API void ___tracy_emit_gpu_context_name( const struct ___tracy_gpu_context_name_data );
|
||||||
TRACY_API void ___tracy_emit_gpu_calibration( const struct ___tracy_gpu_calibration_data );
|
TRACY_API void ___tracy_emit_gpu_calibration( const struct ___tracy_gpu_calibration_data );
|
||||||
|
|
||||||
|
TRACY_API void ___tracy_emit_gpu_zone_begin_serial( const struct ___tracy_gpu_zone_begin_data );
|
||||||
|
TRACY_API void ___tracy_emit_gpu_zone_begin_callstack_serial( const struct ___tracy_gpu_zone_begin_callstack_data );
|
||||||
TRACY_API void ___tracy_emit_gpu_zone_begin_alloc_serial( const struct ___tracy_gpu_zone_begin_data );
|
TRACY_API void ___tracy_emit_gpu_zone_begin_alloc_serial( const struct ___tracy_gpu_zone_begin_data );
|
||||||
|
TRACY_API void ___tracy_emit_gpu_zone_begin_alloc_callstack_serial( const struct ___tracy_gpu_zone_begin_callstack_data );
|
||||||
TRACY_API void ___tracy_emit_gpu_zone_end_serial( const struct ___tracy_gpu_zone_end_data data );
|
TRACY_API void ___tracy_emit_gpu_zone_end_serial( const struct ___tracy_gpu_zone_end_data data );
|
||||||
TRACY_API void ___tracy_emit_gpu_time_serial( const struct ___tracy_gpu_time_data );
|
TRACY_API void ___tracy_emit_gpu_time_serial( const struct ___tracy_gpu_time_data );
|
||||||
TRACY_API void ___tracy_emit_gpu_new_context_serial( const struct ___tracy_gpu_new_context_data );
|
TRACY_API void ___tracy_emit_gpu_new_context_serial( const struct ___tracy_gpu_new_context_data );
|
||||||
|
Loading…
Reference in New Issue
Block a user