1
0
mirror of https://github.com/wolfpld/tracy.git synced 2025-03-20 07:40:02 +08:00

Add GpuTimeSync event

Allows to resynchronise GPU and CPU timestamps during profiling.
This commit is contained in:
Ivan Molodetskikh
2023-10-22 08:03:58 +04:00
parent 3601576b3f
commit 41fc293043
7 changed files with 67 additions and 1 deletions
+19
View File
@@ -4293,6 +4293,15 @@ TRACY_API void ___tracy_emit_gpu_calibration( const struct ___tracy_gpu_calibrat
TracyLfqCommitC;
}
TRACY_API void ___tracy_emit_gpu_time_sync( const struct ___tracy_gpu_time_sync_data data )
{
TracyLfqPrepareC( tracy::QueueType::GpuTimeSync );
tracy::MemWrite( &item->gpuTimeSync.cpuTime, tracy::Profiler::GetTime() );
tracy::MemWrite( &item->gpuTimeSync.gpuTime, data.gpuTime );
tracy::MemWrite( &item->gpuTimeSync.context, data.context );
TracyLfqCommitC;
}
TRACY_API void ___tracy_emit_gpu_zone_begin_serial( const struct ___tracy_gpu_zone_begin_data data )
{
auto item = tracy::Profiler::QueueSerial();
@@ -4400,6 +4409,16 @@ TRACY_API void ___tracy_emit_gpu_calibration_serial( const struct ___tracy_gpu_c
tracy::Profiler::QueueSerialFinish();
}
TRACY_API void ___tracy_emit_gpu_time_sync_serial( const struct ___tracy_gpu_time_sync_data data )
{
auto item = tracy::Profiler::QueueSerial();
tracy::MemWrite( &item->hdr.type, tracy::QueueType::GpuTimeSync );
tracy::MemWrite( &item->gpuTimeSync.cpuTime, tracy::Profiler::GetTime() );
tracy::MemWrite( &item->gpuTimeSync.gpuTime, data.gpuTime );
tracy::MemWrite( &item->gpuTimeSync.context, data.context );
tracy::Profiler::QueueSerialFinish();
}
TRACY_API int ___tracy_connected( void )
{
return tracy::GetProfiler().IsConnected();