feat(agc): report performance timer scopes to Tracy with APS5_ENABLE_TRACY

APS5_ENABLE_TRACY=ON builds the Tracy 0.14.1 client from the new
3rdparty/tracy submodule as a shared library next to the patched
libraries. Every PerformanceTimer scope of libSceAgcDriver and
libSceVideoOut becomes a Tracy zone, each presented flip ends a frame,
and the queue workers and the presenter name their threads. The client
listens only on localhost and records only while a profiler is
connected; sampling, system tracing, call stacks, code transfer and its
crash handler are off. Without the option nothing of Tracy is compiled.

On MinGW the client is built without thread_local destructors and with
TRACY_DELAYED_INIT, because emulated TLS frees thread_local objects
before their destructors run; a thread's event producer then stays
alive until the process exits instead of being destroyed on freed
memory.
This commit is contained in:
Yunus Shaikh committed 2026-10-12 12:55:40 -07:00
1 parent 3e0e01f35f
commit 28ca53dc89
12 files changed
+148

No files matched your search

Vendored Submodule
+1
Submodule 3rdparty/tracy added at 30997d5ca6.