Commit Graph

207 Commits

Author SHA1 Message Date
Arvid Gerstmann
ebd1d00178 Correctly forward declare Win32 functions
_WINDOWS_ is the macro defined by the windows.h header guard,
checking it whether the symbols have already been included before
forward declaring our own.
2018-07-13 23:39:58 +02:00
Arvid Gerstmann
6fee78dfee Do not include the semaphore headers inside namespace tracy 2018-07-13 19:51:24 +02:00
Bartosz Taudul
ef73979fb9 MemRead() uses const pointer. 2018-07-11 01:33:27 +02:00
Bartosz Taudul
6a9caabc63 Send on-demand initial payload message. 2018-07-10 22:37:39 +02:00
Bartosz Taudul
32ca54a523 Pack WelcomeMessage. 2018-07-10 22:29:31 +02:00
Bartosz Taudul
010b19946f Send on-demand status in welcome message. 2018-07-10 21:44:23 +02:00
Bartosz Taudul
a0188122a0 Add keep alive message. 2018-07-10 21:23:19 +02:00
Tobias Widlund
b6cce4ddb6 Improve fixes for warnings as per request 2018-06-30 15:36:06 +02:00
Tobias Widlund
1c467a5847 Fix warning re shadowing, implicit conversion and added include <cstdio> 2018-06-30 11:47:27 +02:00
Bartosz Taudul
b29d60056a Custom per-zone name transfer. 2018-06-29 16:01:31 +02:00
Bartosz Taudul
af0c64c888 Remove GPU resync support.
The whole concept is not really reliable. And it forces CPU to GPU sync,
which is bad.
2018-06-22 16:34:51 +02:00
Bartosz Taudul
62267399bc Send query ids of GPU times. 2018-06-22 16:19:53 +02:00
Bartosz Taudul
51c5f47ae2 Transfer query ids of GPU events. 2018-06-22 15:57:54 +02:00
Bartosz Taudul
55ddb64352 GPU context counter is now 8 bit. 2018-06-22 15:10:23 +02:00
Bartosz Taudul
b213e5f415 Vulkan zone callstack collection. 2018-06-22 01:47:08 +02:00
Bartosz Taudul
b6088b908f Callstack capture for ZoneBegin. 2018-06-22 00:56:30 +02:00
Bartosz Taudul
94c9c89ad0 Enable thread name collection on old windows SDKs. 2018-06-22 00:23:50 +02:00
Bartosz Taudul
5177a7b960 Callstack frame transfer. 2018-06-20 01:06:31 +02:00
Bartosz Taudul
203744cdd9 Callstack frame queries. 2018-06-20 00:25:26 +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
8943e4681e Memory event callstack transfer. 2018-06-19 18:50:29 +02:00
Bartosz Taudul
5368f386ce Make sure uintptr_t is really size of pointer. 2018-06-19 17:51:55 +02:00
Bartosz Taudul
684ba455a2 Send GPU zone thread handle. 2018-06-17 18:55:38 +02:00
Bartosz Taudul
8495e5b094 Send timestamp period in GPU context announcement. 2018-06-17 18:21:15 +02:00
Bartosz Taudul
e74108f175 Bump lz4 to 1.8.2. 2018-05-08 01:52:40 +02:00
Bartosz Taudul
eeeff40a70 Prevent TIME-WAIT connections from blocking listen address.
Of course Windows has to be retarded in its own special way and implement
SO_REUSEADDR with a completely different meaning.

http://www.andy-pearce.com/blog/posts/2013/Feb/so_reuseaddr-on-windows/
2018-04-27 19:18:09 +02:00
Bartosz Taudul
d201be25ed Fix force_inline on gcc/clang. 2018-04-21 19:22:27 +02:00
Bartosz Taudul
c9d1f59c92 No need to pack WelcomeMessage struct. 2018-04-04 19:43:21 +02:00
Bartosz Taudul
3ea5600900 Fix UB, lose type safety. 2018-04-03 17:51:53 +02:00
Bartosz Taudul
66ad415ce5 Remove windows.h dependency from tracy_sema.h. 2018-04-01 19:15:46 +02:00
Bartosz Taudul
16a98c8c17 Move benaphore to common directory. 2018-04-01 18:59:55 +02:00
Bartosz Taudul
991fc6bd95 Memory allocations tracker. 2018-03-31 21:56: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
685432a85f Add unaligned read/write helpers. 2018-03-31 14:15:04 +02:00
Bartosz Taudul
56bd01dfd1 Don't copy thread name needlessly. 2018-03-31 01:38:57 +02:00
Bartosz Taudul
48e82ea135 Workaround pthreads thread name limit. 2018-03-31 01:22:21 +02:00
Bartosz Taudul
347c74cec3 Cosmetics. 2018-03-31 01:06:35 +02:00
Bartosz Taudul
813e265bc3 Initialize rpmalloc in SetThreadName().
There's no guarantee that rpmalloc will be initialized when the thread
calls SetThreadName, due to thread_local storage initialization rules.
2018-03-30 14:39:25 +02:00
Bartosz Taudul
7d6f5b875d Bump lz4 to 1.8.1. 2018-03-04 15:23:46 +01:00
Bartosz Szreder
9e3f18a62a Split data handling code from the view. 2018-02-21 16:41:37 +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
Bartosz Taudul
782231b048 Shared lockable skeleton. 2017-12-10 21:49:45 +01:00
Bartosz Taudul
3567d7edd8 Reintroduce lock announce events. 2017-12-10 21:40:48 +01:00
Bartosz Taudul
ab1f93194e No thread names on emscripten. 2017-11-29 11:11:16 +01:00
Bartosz Taudul
02b3e54943 Provide tracy color list in default client header. 2017-11-25 15:33:10 +01:00
Bartosz Taudul
2f09a2429e Add X11 color list. 2017-11-25 15:18:04 +01:00
Bartosz Taudul
a515bf8878 Perform GPU to CPU resynchronization on each collect event. 2017-11-25 13:33:57 +01:00
Bartosz Taudul
0100266234 Use consistent names. 2017-11-25 13:14:16 +01:00
Bartosz Taudul
c609c15f95 Acceleration param is always valid. 2017-11-24 01:23:54 +01:00
Bartosz Taudul
0e021bb798 Decrease LZ4 memory usage. 2017-11-23 02:28:33 +01:00
Bartosz Taudul
c431747f06 Favor transfer of zones without predicted payload. 2017-11-22 02:28:12 +01:00
Bartosz Taudul
70ac7d3223 Add no inline specifier. 2017-11-19 17:15:09 +01:00
Bartosz Taudul
a309e71fe1 Move force inline defines to a separate header. 2017-11-19 16:32:38 +01:00
Bartosz Taudul
18f7d8c261 Reorder StringTransfer to enable easier dispatch. 2017-11-19 02:42:04 +01:00
Bartosz Taudul
c251690722 Query OpenGL time stamp accuracy. 2017-11-17 14:07:42 +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
7ebaa46f75 GPU time transfer. 2017-11-11 22:08:47 +01:00
Bartosz Taudul
6fcdb924e8 CPU-side GPU event transfer. 2017-11-11 21:09:48 +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
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
0fb5f012ce Lua profiling framework. No source location transfer yet. 2017-11-05 15:06:28 +01:00
Bartosz Taudul
3dc7d04ab4 Properly handle connection reset on win32. 2017-11-04 17:19:28 +01:00
Bartosz Taudul
a2f9dc75c7 Set SO_NOSIGPIPE on proper socket. 2017-11-03 11:20:39 +01:00
Bartosz Taudul
f71af873c0 Proper function name. 2017-11-03 11:13:02 +01:00
Bartosz Taudul
7ecc6b54d4 Proper pthread_threadid_np call. 2017-11-03 11:12:17 +01:00
Bartosz Taudul
c7cb89307f Use proper __APPLE__ macro. 2017-11-03 11:09:31 +01:00
Bartosz Taudul
1d9542ea25 Fix thread ids on osx, iphone. 2017-11-03 10:49:49 +01:00
Bartosz Taudul
7b8747ce21 Collect thread names on osx, iphone. 2017-11-02 13:02:04 +01:00
Bartosz Taudul
3051b8d27c Don't use rpmalloc directly. 2017-11-02 12:58:38 +01:00
Bartosz Taudul
e31f8c2aed No sigpipe on think different. 2017-11-02 11:37:10 +01:00
Bartosz Taudul
af39dd4921 Always define noop MSG_NOSIGNAL, if not available in headers. 2017-11-02 11:31:54 +01:00
Bartosz Taudul
391571a2da Fix android with tracy disabled. 2017-10-31 11:36:43 +01:00
Bartosz Taudul
3aaa718741 Enable thread name collection on cygwin.
It was working before, because there was _GNU_SOURCE define injection.
Without this macro defined pthread_[gs]etname_np() functions are not
exposed in the API.
2017-10-30 21:57:45 +01:00
Bartosz Taudul
aa12a3bf94 Missing include. 2017-10-30 21:51:24 +01:00
Bartosz Taudul
cf3d8eb810 Manual collection of thread names on android. 2017-10-30 20:45:00 +01:00
Bartosz Taudul
5cf962e03d Android has pthread_setname_np, but not getname... 2017-10-30 13:48:52 +01:00
Bartosz Taudul
d21040e3d8 pthread_{get,set}name_np is not standard. 2017-10-28 12:16:52 +02:00
Bartosz Taudul
10e3307512 Unique lz4 header guard. 2017-10-21 15:02:43 +02:00
Bartosz Taudul
ad338a7cfd Fix message literals. 2017-10-21 12:39:26 +02:00
Bartosz Taudul
f822455832 Increase send buffer size. 2017-10-19 23:48:16 +02:00
Bartosz Taudul
51013dc0e6 Manual allocation of socket memory. 2017-10-18 19:50:28 +02:00
Bartosz Taudul
fc94378e0c Move TracyAlloc.hpp to common. Use rpmalloc only if TRACY_ENABLE. 2017-10-18 19:50:28 +02:00
Bartosz Taudul
7c47edc64f Terminate connection handshake. 2017-10-18 18:48:51 +02:00
Bartosz Taudul
1e3476cf36 Transfer profiler initialization time. 2017-10-17 01:10:38 +02:00
Bartosz Taudul
1788408ceb Allow setting thread name using thread handle. 2017-10-16 21:17:58 +02:00
Bartosz Taudul
31fc2335dd Silence some type mismatch warnings. 2017-10-16 21:17:58 +02:00
Bartosz Taudul
f156cd922b OpenThread may fail. 2017-10-15 13:26:05 +02:00
Bartosz Taudul
5b9fcddfb3 String literal message transfer. 2017-10-15 13:06:49 +02:00
Bartosz Taudul
fa8030009f Store messages. 2017-10-14 14:28:04 +02:00
Bartosz Taudul
8c7b60fbe6 Allow sending text messages. 2017-10-14 13:23:13 +02:00
Bartosz Taudul
1aaab3c5e4 Use 32 bits to store lock id.
This makes queue item size 32 bytes. Queue operations can now be faster,
because multiplication by 33 is replaced by shift by 5.
2017-10-13 20:05:38 +02:00
Bartosz Taudul
ec789d60e8 Store source location color in 24 bits. 2017-10-13 19:59:18 +02:00