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

41 Commits

Author SHA1 Message Date
Bartosz Taudul be392a76fb Move TracyVersion.hpp to common. 2022-08-27 16:05:36 +02:00
hulakdar e35db2657b A bit more consistent usage of atomic 2022-08-26 13:25:58 +03:00
hulakdar 391cb4242e Fix d3d12 gpu zones for multithreaded use 2022-08-26 13:07:07 +03:00
Bartosz Taudul 72b7d0db5b Add user data pointer to parameter callback. 2022-08-26 00:46:01 +02:00
Bartosz Taudul 197007ab47 Keep a list of buffers left to handle.
Previously a bitmap of buffers was repeatedly scanned to see which buffers
still contain data. This process was needlessly wasting cycles (seen as a
hotspot when profiled) and worse yet, the workload increased with the number
of CPU cores (=> buffers used) to handle.

The new implementation instead maintains a list of buffer indices that have to
be handled. This list does not contain empty buffers, so each loop iteration
performs some work, instead of just spinning in search for buffers to handle.
2022-08-18 13:59:56 +02:00
Bartosz Taudul 940f32c1a8 Add include for cpuid. 2022-08-18 13:40:37 +02:00
Bartosz Taudul 07a56f1148 Load globals to local variables. 2022-08-18 01:08:22 +02:00
Bartosz Taudul 7df4aef122 Expose source callback registering through a macro. 2022-08-17 16:26:03 +02:00
Bartosz Taudul a237f108c7 Use source contents callback. 2022-08-17 16:04:20 +02:00
Bartosz Taudul ed7be2faaa Add source contents callback setup. 2022-08-17 16:04:18 +02:00
Bartosz Taudul 1601ddeab5 Resolve relative file names to absolute ones.
Note that this is a tentative fix, which *should* be working, but it may as
well not be correct in some edge cases. Who knows.
2022-08-16 23:48:46 +02:00
Bartosz Taudul 3dc542a464 Log invalid debuginfod queries.
Filename paths must be absolute, not relative.
2022-08-16 22:05:14 +02:00
Bartosz Taudul d32dc47845 Add debug logging for debuginfod queries. 2022-08-16 22:05:08 +02:00
Bartosz Taudul 06b986ad90 Bump LZ4 to 1.9.4. 2022-08-16 14:43:50 +02:00
Bartosz Taudul 72ad40698b Move initialization of callstack structs to a thread.
Initializing structures for callstack processing (building memory map of the
process, gathering kernel symbols, etc) takes some time, which in some cases
may be significant.

Callstack queries are now handled on a separate thread. In such setup it no
longer makes sense to block main thread execution with this lengthy init
process.

All the heavy initialization phase has been now moved to this separate
processing thread. Some initial callstack queries may now not produce
responses as promptly as before, but this is only because the main thread is
able to start working earlier.

Some parts of the initialization process may be critical to do in the main
thread, for example because the function responsible for gathering callstacks
must be loaded first. This is done still on the main thread, in a new function
InitCallstackCritical().
2022-08-16 13:55:46 +02:00
Bartosz Taudul 77e3a480a4 Properly terminate CPU model string. 2022-08-13 19:37:34 +02:00
Bartosz Taudul 849e58bfb3 No rpmalloc on emscripten. 2022-08-08 19:40:17 +02:00
Bartosz Taudul bb22542a90 Decouple rpmalloc usage from TRACY_ENABLE flag. 2022-08-08 19:40:16 +02:00
Bartosz Taudul 3840f39fc9 Fix macros. 2022-08-08 19:16:42 +02:00
Daniel dc74b8adfd Using push/pop in all pragma pack pair to avoid potential padding bugs 2022-08-03 18:39:42 +08:00
Bartosz Taudul c6464f44da Fix typo. 2022-07-30 22:02:25 +02:00
Bartosz Taudul e0f813d9e9 Add support for Vsync capture on Linux. 2022-07-30 21:29:44 +02:00
Bartosz Taudul 91b002267e Emit dedicated Vsync frame messages. 2022-07-30 19:53:40 +02:00
Bartosz Taudul e86238642a Add dedicated frame Vsync queue message. 2022-07-30 19:50:42 +02:00
Bartosz Taudul 86bc2020cb Fix call to rpmalloc_thread_finalize in manual lifetime use-case. 2022-07-30 14:33:39 +02:00
Bartosz Taudul 52643fcd2a Compatibility fixes for rpmalloc. 2022-07-30 14:13:54 +02:00
Bartosz Taudul 45ba4f2390 Disable auto-cleanup in rpmalloc. 2022-07-30 13:35:44 +02:00
Bartosz Taudul 6be10b6122 Update rpmalloc to 1.4.4. 2022-07-30 13:29:57 +02:00
Bartosz Taudul f4b0654fcd Allow setting plot color in the configuration message. 2022-07-24 13:32:21 +02:00
Bartosz Taudul 3f51409389 Add step and fill parameters to plot configuration. 2022-07-24 13:05:01 +02:00
Bartosz Taudul 810f1573ac Use separate messages for transfer of different plot value types. 2022-07-24 13:00:36 +02:00
Bartosz Taudul a75846dd88 Do not try to demangle really long function names. 2022-07-23 12:37:00 +02:00
Bartosz Taudul d282425287 Fix demangle buffer. 2022-07-23 12:34:35 +02:00
Bartosz Taudul 7dc95bf3a8 Fix demangling of functions with names >64KB. 2022-07-20 01:21:43 +02:00
Bartosz Taudul f52ac31468 Do not duplicate code. 2022-07-20 01:06:12 +02:00
Bartosz Taudul a04f830962 Force inline string copy functions. 2022-07-20 01:04:59 +02:00
Bartosz Taudul 5e0eb7e26b Drop string copy length asserts.
These might now truncate data.
2022-07-20 01:03:06 +02:00
Bartosz Taudul 8ccfe93044 Apply 7409767 from libbacktrace. 2022-07-20 00:41:22 +02:00
Bartosz Taudul fca8a7707d Don't fail compilation on emscripten. 2022-07-19 15:49:29 +02:00
Bartosz Taudul 440d20b864 Don't transfer lock release thread id.
We already know which thread is holding the lock.
2022-07-18 01:56:09 +02:00
Bartosz Taudul 06c7984a16 Move all client headers and sources to public/ directory. 2022-07-17 15:47:38 +02:00