From 52caae3a51f5069c91b244ee0d4053e991fa41cf Mon Sep 17 00:00:00 2001 From: Ivan Molodetskikh Date: Thu, 19 Oct 2023 10:21:55 +0400 Subject: [PATCH] Defer GPU contexts from the C API Same as how the C++ API does it. Otherwise with on demand mode the profiler never receives the GPU context info. --- public/client/TracyProfiler.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/public/client/TracyProfiler.cpp b/public/client/TracyProfiler.cpp index ed580123..d89d77b9 100644 --- a/public/client/TracyProfiler.cpp +++ b/public/client/TracyProfiler.cpp @@ -4258,6 +4258,11 @@ TRACY_API void ___tracy_emit_gpu_new_context( ___tracy_gpu_new_context_data data tracy::MemWrite( &item->gpuNewContext.context, data.context ); tracy::MemWrite( &item->gpuNewContext.flags, data.flags ); tracy::MemWrite( &item->gpuNewContext.type, data.type ); + +#ifdef TRACY_ON_DEMAND + tracy::GetProfiler().DeferItem( *item ); +#endif + TracyLfqCommitC; } @@ -4270,6 +4275,11 @@ TRACY_API void ___tracy_emit_gpu_context_name( const struct ___tracy_gpu_context tracy::MemWrite( &item->gpuContextNameFat.context, data.context ); tracy::MemWrite( &item->gpuContextNameFat.ptr, (uint64_t)ptr ); tracy::MemWrite( &item->gpuContextNameFat.size, data.len ); + +#ifdef TRACY_ON_DEMAND + tracy::GetProfiler().DeferItem( *item ); +#endif + TracyLfqCommitC; }