Commit Graph

784 Commits

Author SHA1 Message Date
Bartosz Taudul
415197bd5d Remove semicolon from TracySetProgramName macro. 2026-06-22 14:57:25 +02:00
Bartosz Taudul
5177e587e9 Do not include semicolons in TracySectionEnter / TracySectionLeave macros. 2026-06-22 14:56:32 +02:00
Bartosz Taudul
3a6a23ca98 Save and load sections data. 2026-06-21 00:56:32 +02:00
Ryan Jensen
978b720759 Fix warning [-Wsign-compare] 2026-06-20 17:09:26 -05:00
Bartosz Taudul
801a34ea66 Add trigger parameter. 2026-06-17 22:37:31 +02:00
Bartosz Taudul
0cdb6d365e Initial section enter / leave instrumentation. 2026-06-17 22:37:31 +02:00
Bartosz Taudul
e3f4c72c85 Move TRACY_ATTRIBUTE_FORMAT_PRINTF to its own header. 2026-06-17 22:37:31 +02:00
Marcos Slomp
1de94aa856 add routine to check for GL features/extensions at run-time 2026-06-15 21:19:12 -07:00
Marcos Slomp
69af195c98 edge-case bug-fix (could cause wgpu-native to panic) 2026-06-15 13:14:28 -07:00
Bartosz Taudul
62560a6429 Add 8-bit length string transfers to the protocol. 2026-06-15 20:43:55 +02:00
Bartosz Taudul
f7b4e177ff Change misleading etc1buf variable to texbuf. 2026-06-15 19:31:06 +02:00
Bartosz Taudul
084daf0516 Force inline send string strlen helpers. 2026-06-15 19:19:13 +02:00
Bartosz Taudul
33fccb3530 Typos. 2026-06-15 17:08:39 +02:00
Bartosz Taudul
45576f6972 Merge pull request #1400 from wolfpld/slomp/gl-example
adding OpenGL example (spinning triangle)
2026-06-14 21:39:54 +02:00
Bartosz Taudul
d3047f8069 Fix memory discard + callstack.
Bug (High Severity): Wrong queue type in MemDiscardCallstack

In the callstack path of MemDiscardCallstack, the wrong queue type is
sent:

  SendMemDiscard( QueueType::MemDiscard, thread, name );

Every other callstack variant correctly uses its callstack queue type
(MemAllocCallstack, MemFreeCallstack, etc.), but this one uses the
non-callstack type. The SendMemDiscard assertion at line 1026 confirms
MemDiscardCallstack is a valid value.

Impact: The callstack captured by SendCallstackSerial() will be orphaned.
The server processes the event via the non-callstack handler, leaving the
callstack serial data unconsumed, which desynchronizes the serial queue
and corrupts all subsequent events.
2026-06-12 20:30:59 +02:00
Bartosz Taudul
a091bb4ad2 Remove "secure" variant of alloc/free.
Random crashes are not fun. Always use the "secure" code path.
2026-06-12 19:41:17 +02:00
Marcos Slomp
daba5acfbc more explicit compiler warning message 2026-06-12 07:31:03 -07:00
Bartosz Taudul
07bfe3465e Merge pull request #1356 from wolfpld/slomp/tracy-webgpu
GPU: WebGPU back-end
2026-06-12 12:11:32 +02:00
Bartosz Taudul
0544440a34 Remove unused, extremely broken code. 2026-06-11 22:35:25 +02:00
Marcos Slomp
f287508772 addressing type conversion warning 2026-06-11 13:28:32 -07:00
Bartosz Taudul
f622b97436 Backdate init time when a producer token predates it.
A zone emitted from a shared object initializer runs before the
executable's constructors, so its timestamp precedes s_initTime, which
the server uses as the trace epoch (baseTime). Such a zone converts to
negative trace time and its end no longer satisfies IsEndValid(), which
excludes it from statistics reconstruction and makes it render as
never-ending.

Record the current time when a producer token is created before
s_initTime is constructed and use it as the init time, ensuring no event
timestamp precedes the trace epoch.
2026-06-11 20:05:59 +02:00
Bartosz Taudul
dfded9d55d Recover main thread producer orphaned by cross-module init order.
ELF init_priority only orders constructors within a single module. All of
a shared object's initializers run before any of the executable's, so an
instrumented dependency .so emitting a zone from its static initializer
creates the main thread producer token against the zero-initialized
s_queue. The queue constructor then resets the producer list, orphaning
that producer: every zone emitted on the main thread from that point on
is enqueued into blocks no consumer ever iterates and silently lost,
while sampling (worker thread producer) keeps working.

Re-link such a producer right after the queue is constructed. In the
common case, where nothing was emitted during shared object init, this
merely constructs the main thread token eagerly.
2026-06-11 20:05:57 +02:00
Clément Grégoire
0c74658dd3 TRACY_WIN32_NO_DESKTOP should use GetVersionExW explicitly.
Since we use `RTL_OSVERSIONINFOW` we need to use W version explicitly
2026-06-11 12:06:34 +02:00
Marcos Slomp
debda1df55 scoping the GpuCtx constructor 2026-06-10 18:57:22 -07:00
Marcos Slomp
d98608b022 issue a Tracy warning message when timestamp queries are supported but not properly implemented 2026-06-10 18:52:57 -07:00
Marcos Slomp
eb88c6eba0 adding warning about TracyOpenGL usage on Apple devices 2026-06-10 18:52:09 -07:00
Marcos Slomp
cfc046abcd refactoring requirements 2026-06-10 11:09:51 -07:00
Clément Grégoire
bfab6d03f4 WORKAROUND_malloc/free should properly route to tracy_malloc/free 2026-06-10 17:15:33 +02:00
Marcos Slomp
0d848c3042 proper device descriptor chaining 2026-06-10 08:03:18 -07:00
Marcos Slomp
6fc279eef4 more descriptive API name 2026-06-10 06:23:57 -07:00
MaximeCoutantSonos
7637971e9e Fixed typo inconsistency in Shared lock C api 2026-06-10 14:26:36 +02:00
Marcos Slomp
28d3a91980 more changes to allow for null context 2026-06-09 16:26:51 -07:00
Marcos Slomp
0fbb2eaaa4 typo 2026-06-09 16:00:43 -07:00
Marcos Slomp
b27dab4584 remove "spontaneous" callback (better determinism) 2026-06-09 15:59:38 -07:00
Marcos Slomp
75bee5370f cosmetics 2026-06-09 15:58:24 -07:00
Marcos Slomp
e7499458e9 allow scoped instrumentation to no-op with null context 2026-06-09 15:58:06 -07:00
Marcos Slomp
59f17794a5 fixing MemWrite casts 2026-06-09 09:06:48 -07:00
Marcos Slomp
8278ace0c1 build fix 2026-06-09 09:06:48 -07:00
Marcos Slomp
bfbc1d3bee missing interface, and more debugging 2026-06-09 09:06:48 -07:00
Marcos Slomp
831779508f minor fixes/comments 2026-06-09 09:06:48 -07:00
Marcos Slomp
286309af3f refactoring calibration estimations 2026-06-09 09:06:47 -07:00
Marcos Slomp
3db70a2237 refactoring 2026-06-09 09:06:47 -07:00
Marcos Slomp
da952f3f38 more refactoring 2026-06-09 09:06:47 -07:00
Marcos Slomp
efba4685ef more cleanup and refactoring 2026-06-09 09:06:47 -07:00
Marcos Slomp
598984c45d refactoring initial calibration 2026-06-09 09:06:47 -07:00
Marcos Slomp
860011c604 calibration stability 2026-06-09 09:06:47 -07:00
Marcos Slomp
0cdcbfc75d refactoring query resolve 2026-06-09 09:06:47 -07:00
Marcos Slomp
e5d4be95df getting rid of spontaneous callbacks 2026-06-09 09:06:47 -07:00
Marcos Slomp
7b3863d93d redesign... 2026-06-09 09:06:47 -07:00
Marcos Slomp
de2a18d964 initial prototype for WebGPU back-end 2026-06-09 09:06:47 -07:00