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

310 Commits

Author SHA1 Message Date
Bartosz Taudul 64a38c591b Don't perform multiple NeedDataSize checks. 2018-06-23 02:19:23 +02:00
Bartosz Taudul 4d197ec7a2 Unsafe version of AppendData. 2018-06-23 02:16:58 +02:00
Bartosz Taudul a2c6848433 Send callstack payload without iteration, if possible. 2018-06-23 02:13:52 +02:00
Bartosz Taudul 55ddb64352 GPU context counter is now 8 bit. 2018-06-22 15:10:23 +02:00
Bartosz Taudul b6088b908f Callstack capture for ZoneBegin. 2018-06-22 00:56:30 +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 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 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 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 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 459890ef0e Don't hold lock on serial queue during dequeue. 2018-04-14 15:46:11 +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 794f199bdc Serial queue dequeuing. 2018-04-01 20:04:35 +02:00
Bartosz Taudul faeecdd773 Add serial queue to profiler. 2018-04-01 19:53:05 +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 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 f67465e784 Reduce timer calibration delay to 200 ms. 2017-11-25 13:34:26 +01:00
Bartosz Taudul 48da593ab2 Increase calibration time to half a second. 2017-11-24 01:43:35 +01:00
Bartosz Taudul c431747f06 Favor transfer of zones without predicted payload. 2017-11-22 02:28:12 +01:00
Bartosz Taudul 630db7112a Leaner iteration in Profiler::Dequeue(). 2017-11-22 02:07:23 +01:00
Bartosz Taudul 2f669aea41 Workaround gcc issues. 2017-11-15 10:56:27 +01:00
Bartosz Taudul c43eb29ce0 Don't send source location pointer in query reply.
Since reply order is the same as the query order, the server already
knows what source location it receives. This observation allows placing
zone name into the source location struct.
2017-11-14 23:06:45 +01:00
Bartosz Taudul 5c872b2137 Simplify GPU context handling. 2017-11-14 00:48:26 +01:00
Bartosz Taudul 3c00ce0958 GPU context registration. 2017-11-11 19:44:09 +01:00
Bartosz Taudul 81735aea2f Support for setting zone names in lua. 2017-11-11 17:56:41 +01:00
Bartosz Taudul 59ec40c045 Preemptive transfer of source location payload. 2017-11-11 15:59:30 +01:00
Bartosz Taudul 7f3b8f4647 Preemptive message text delivery. 2017-11-11 15:41:21 +01:00
Bartosz Taudul 76e11174dc Preemptive sending of custom strings. 2017-11-11 15:22:55 +01:00
Bartosz Taudul c2797a4cc7 Data packets can't cross data buffer boundary. 2017-11-11 15:08:03 +01:00
Bartosz Taudul 49bce256bc Fix type mismatch. 2017-11-11 14:35:46 +01:00
Bartosz Taudul 0d15d45c3a Don't send source location through the queue. 2017-11-11 14:24:22 +01:00
Bartosz Taudul 065964b216 Send data before sleeping during shutdown. 2017-11-11 14:23:55 +01:00
Bartosz Taudul fc4e31bb8f Wait for send buffer to be full before sending data. 2017-11-11 14:16:37 +01:00
Bartosz Taudul fb46b3cf24 Restore process name retrieval on cygwin. 2017-11-10 19:46:31 +01:00
Bartosz Taudul f6af913fd3 Remove ability to disable LZ4 compression. 2017-11-10 17:34:11 +01:00
Bartosz Taudul bc77aa8d26 Source location payload transfer. No storage yet. 2017-11-05 16:46:00 +01:00
Bartosz Taudul 3659afac2a Move another big buffer out of stack. 2017-11-02 17:37:10 +01:00
Bartosz Taudul cea7cdd716 Don't create big buffers on stack. 2017-11-02 12:58:38 +01:00
Bartosz Taudul cf3d8eb810 Manual collection of thread names on android. 2017-10-30 20:45:00 +01:00
Bartosz Taudul 8f280b147b Getting program name on android. 2017-10-30 14:59:05 +01:00
Bartosz Taudul a220043114 Add no-cpu GetTime() variant.
In this version the address of cpu output variable is const, so there's
no stack address calculation involved.
2017-10-29 16:12:16 +01:00
Bartosz Taudul 03289175ab Lock counter also must be initialized early. 2017-10-24 22:02:49 +02:00