Bartosz Taudul
b4b08a0b29
Windows header poisoning should be avoided only in headers.
...
This fixes cygwin.
2018-06-20 21:01:25 +02:00
Bartosz Taudul
45cec65eef
Don't assign const char ptr to char ptr.
2018-06-20 20:35:57 +02:00
Bartosz Taudul
e495747b88
Fix off-by-one.
2018-06-20 17:02:05 +02:00
Bartosz Taudul
88b1955a5a
Filename in callstack frame is not a persistent pointer.
2018-06-20 01:26:05 +02:00
Bartosz Taudul
5177a7b960
Callstack frame transfer.
2018-06-20 01:06:31 +02:00
Bartosz Taudul
359feae7ef
Symbol retrieval may fail.
2018-06-20 01:05:44 +02:00
Bartosz Taudul
4be2543b2f
Cygwin support for callstack tracing.
2018-06-19 19:49:21 +02:00
Bartosz Taudul
9b1fb01e16
Disable Callstack() call if there's no callstack support.
2018-06-19 19:38:30 +02:00
Bartosz Taudul
0a8cd73db7
Issue predictive callback payload transfer.
2018-06-19 19:31:16 +02:00
Bartosz Taudul
51043ebc47
Callstack payload transfer.
2018-06-19 19:31:16 +02:00
Bartosz Taudul
55e6a4a484
No return status is needed here.
2018-06-19 19:00:57 +02:00
Bartosz Taudul
d0d3545988
Optional sending of callstack ptr in memory events.
2018-06-19 18:51:21 +02:00
Bartosz Taudul
d2a98c3090
Configurable callstack depth.
2018-06-19 18:49:13 +02:00
Bartosz Taudul
ca499eefaf
Return typeless pointer.
2018-06-19 17:27:03 +02:00
Bartosz Taudul
827900969f
Make Callstack() static inline.
2018-06-19 17:23:50 +02:00
Bartosz Taudul
ca2cac9b99
Use proper type for pointer size.
2018-06-19 14:34:37 +02:00
Bartosz Taudul
4a01eb7fc4
Windows callstack inspection plumbing.
2018-06-19 01:17:19 +02:00
Bartosz Taudul
7a23f677dd
Vulkan and OpenGL must share idx pool.
2018-06-18 01:10:43 +02:00
Bartosz Taudul
9c11e0fc5b
Vulkan tracing.
2018-06-17 18:14:37 +02:00
Bartosz Taudul
3432c594a9
ImplicitProducer is private.
2018-05-08 16:27:52 +02:00
Bartosz Taudul
e2534e2bf6
Forward declare explicit and implicit producers.
2018-05-08 12:33:19 +02:00
Bartosz Taudul
5b6d9769af
Properly separate HW timer from MSVC rdtscp optimization.
2018-04-27 19:40:47 +02:00
Bartosz Taudul
237aee30a8
Test if HW timer can be used on arm.
2018-04-27 16:58:45 +02:00
Bartosz Taudul
6a2311a7b7
Arm64 also defines __ARM_ARCH.
2018-04-26 17:39:04 +02:00
Bartosz Taudul
a3f5003f88
Read time from timer register on armv6, armv7.
...
Same improvement as on aarch64.
2018-04-26 17:18:10 +02:00
Bartosz Taudul
69a50b04c1
Really don't care about cpu id.
2018-04-26 16:12:52 +02:00
Bartosz Taudul
1899066e36
Read time from timer register on arm64.
...
On ODROID C2 this change improves timer resolution from 250 ns to 41 ns.
2018-04-26 16:03:31 +02:00
Bartosz Taudul
3a20104882
No need for separate tracy_rdtscp() function.
2018-04-26 15:30:53 +02:00
Bartosz Taudul
8cc9464082
Use GetTime() in CalibrateTimer().
2018-04-26 15:29:09 +02:00
Bartosz Taudul
48665cc09b
s/TRACY_RDTSCP_SUPPORTED/TRACY_HW_TIMER/
2018-04-26 15:25:54 +02:00
Bartosz Taudul
4eb205ad18
Optimize FastVector for fast push_next() operation.
2018-04-14 17:12:41 +02:00
Bartosz Taudul
15219b1481
Support 4-byte size_t.
2018-04-14 16:08:39 +02:00
Bartosz Taudul
459890ef0e
Don't hold lock on serial queue during dequeue.
2018-04-14 15:46:11 +02:00
Bartosz Taudul
e1dc62cabe
Add fast vector swap.
2018-04-14 15:46:01 +02:00
Bartosz Taudul
7c4075c9ce
Fix MemRead() call.
2018-04-03 17:57:12 +02:00
Bartosz Taudul
3ea5600900
Fix UB, lose type safety.
2018-04-03 17:51:53 +02:00
Bartosz Taudul
9c403d9cc2
GetTime() calls also must be serialized.
2018-04-01 21:07:33 +02:00
Bartosz Taudul
794f199bdc
Serial queue dequeuing.
2018-04-01 20:04:35 +02:00
Bartosz Taudul
860e0e1809
Store memory operations in the serial queue.
2018-04-01 19:53:24 +02:00
Bartosz Taudul
faeecdd773
Add serial queue to profiler.
2018-04-01 19:53:05 +02:00
Bartosz Taudul
0a3e9f85eb
"Fast" vector implementation.
2018-04-01 19:52:29 +02:00
Bartosz Taudul
991fc6bd95
Memory allocations tracker.
2018-03-31 21:56:05 +02:00
Bartosz Taudul
7a35e8facc
Fix typo.
2018-03-31 14:19:45 +02:00
Bartosz Taudul
a677048d2b
Fix try_lock().
2018-03-31 14:15:04 +02:00
Bartosz Taudul
3b03e849f0
Harden client code against unaligned memory access.
...
There shouldn't be any changes in generated code on modern
architectures, as the memcpy will be reduced to a store/load operation
identical to the one generated with plain struct member access.
GetTime( cpu ) needs special handling, as the MSVC intrinsic for rdtscp
can't store cpu identifier in a register. Using intermediate variable
would cause store to stack, read from stack, store to the destination
address. Since rdtscp is only available on x86, which handles unaligned
stores without any problems, we can have one place with direct struct
member access.
2018-03-31 14:15:04 +02:00
Bartosz Taudul
dca7338319
Update rpmalloc to 1.3.0.
2018-03-04 15:51:10 +01:00
Bartosz Taudul
0c1721144e
Backport concurrent queue's fixes.
...
420509b6678263f0fa6c0ffba87a15319238a1f2
2018-03-04 15:32:42 +01:00
Bartosz Taudul
7300c2e46e
Fix TRACY_NO_EXIT behavior.
...
Terminate event could be the first event that was sent. In such case
server immediately closed the connection, as there was no outstanding
data to receive. Fix by sending all data in the queue before sending
terminate event.
2018-01-11 13:45:13 +01:00
Bartosz Taudul
c3a32f9c35
Send lock type in LockWait/LockSharedWait events.
...
This will be needed for proper construction of LockMap on the server, in
case the LockAnnounce message hasn't arrived yet.
2017-12-17 18:30:34 +01:00
Bartosz Taudul
bcf2bf1c5c
Shared lock events (still using old functionality).
2017-12-10 22:04:49 +01:00