Bartosz Taudul
52b6bdb55a
Force inline ProcessRGB functions.
2019-06-30 03:33:14 +02:00
Bartosz Taudul
8c06f7288c
AVX2 DXT1 compression.
2019-06-30 03:20:58 +02:00
Bartosz Taudul
2e893bba91
Use division tables.
2019-06-29 12:16:49 +02:00
Bartosz Taudul
ab9f036f5e
Integrate CheckSolid into ProcessRGB.
2019-06-29 02:04:08 +02:00
Bartosz Taudul
faf6bb97a4
DXT1 NEON color index packing.
2019-06-28 22:36:44 +02:00
Bartosz Taudul
2df1eaaa7e
Pack color indices using SSE.
2019-06-28 21:58:10 +02:00
Bartosz Taudul
fcb5b4b888
NEON DXT1 compression.
2019-06-28 14:24:16 +02:00
Bartosz Taudul
e8d4ba492b
Unify shifts.
2019-06-28 13:05:32 +02:00
Bartosz Taudul
be4900c822
NEON CheckSolid.
2019-06-28 01:47:04 +02:00
Bartosz Taudul
3c066f1527
Simplify code.
2019-06-27 22:40:03 +02:00
Bartosz Taudul
72a0d4c2ab
Rest of SSE DXTC compression.
2019-06-27 22:29:44 +02:00
Bartosz Taudul
137b28e110
SSE CheckSolid.
2019-06-27 22:29:44 +02:00
Bartosz Taudul
3d590b6b8c
Initialize rpmalloc in compression thread.
2019-06-27 19:14:51 +02:00
Bartosz Taudul
1939c31165
Experimental DXT1 compressor.
2019-06-27 19:14:51 +02:00
Bartosz Taudul
79eb1b9029
Swap queue and dequeue only if queue has contents.
2019-06-27 13:37:09 +02:00
Bartosz Taudul
bb35f9a897
Compress frame images in a separate thread.
2019-06-27 13:24:35 +02:00
Bartosz Taudul
7ebd2162c6
Add ETC1 compression thread.
2019-06-26 22:57:24 +02:00
Bartosz Taudul
f565e11976
Store frame images in queue.
2019-06-26 22:52:24 +02:00
Bartosz Taudul
281dcf7c1f
Cast to proper types.
2019-06-26 19:33:37 +02:00
Bartosz Taudul
8ce41b3543
Proper init order of thread local thread handle.
2019-06-26 19:32:52 +02:00
Bartosz Taudul
bc7f2c49c8
GetThreadHandle() might be used by application's code.
2019-06-25 15:44:49 +02:00
Bartosz Taudul
c749a2e3fe
Add C API for plots and messages.
2019-06-24 21:03:39 +02:00
Bartosz Taudul
48e08acb62
Add C API for frame markup.
2019-06-24 21:03:39 +02:00
Bartosz Taudul
ee99ce833c
Implement memory allocation tracking for C API.
2019-06-24 21:03:39 +02:00
Bartosz Taudul
281477f7f9
Tokens must be retrieved for each enqueue.
2019-06-24 20:12:14 +02:00
Bartosz Taudul
06a41708a7
Move TLS accesses close together.
2019-06-24 19:38:44 +02:00
Bartosz Taudul
c4f0965851
Don't use cached thread id to retrieve main thread id.
2019-06-24 19:38:07 +02:00
Bartosz Taudul
a56c47a6a0
Store thread handle in a thread local variable.
...
This saves us a non-inlineable function call. Thread local block is
accessed anyway, since we need to get the token, so we already have the
pointer and don't need to get it a second time (which is done inside
Windows' GetCurrentThreadId()). We also don't need to store the thread
id in ScopedZone anymore, as it was a micro-optimization to save us the
second GetThreadHandle() call.
This change has a measurable effect of reducing enqueue time from ~10 to
~8 ns.
A further optimization would be to completely skip thread handle
retrieval during zone capture and do it instead on retrieval of data
from the queue. Since each thread has its own producer ("token"), the
thread handle should be accessible during the dequeue operation. This is
a much more invasive change, that would require a) modification of the
queue, b) additional processing of dequeued data to inject the thread
handle.
2019-06-24 19:19:47 +02:00
Bartosz Taudul
fd9fc880a6
Send current time in on-demand welcome message.
2019-06-21 19:39:41 +02:00
Bartosz Taudul
5309e6d94a
Broadcast client activity time.
2019-06-18 20:46:12 +02:00
Bartosz Taudul
aa5259b20a
Use the same port (8086) for both TCP and UDP traffic.
2019-06-18 20:28:03 +02:00
Bartosz Taudul
0e5a7263d9
Define broadcast message, add versioning.
2019-06-18 20:26:40 +02:00
Bartosz Taudul
0b394c3f53
Don't need to keep last broadcast time in Profiler class.
2019-06-18 20:15:09 +02:00
Bartosz Taudul
11dc8e67e5
Change broadcast rate from 5s to 3s.
2019-06-17 19:57:17 +02:00
Bartosz Taudul
6bf8081f5b
Remove debug leftovers.
2019-06-17 19:52:44 +02:00
Bartosz Taudul
de058d2a0d
Don't hardcode broadcast port.
2019-06-17 18:37:34 +02:00
Bartosz Taudul
1b3b3a94a2
Broadcast protocol version and process name.
2019-06-17 18:34:35 +02:00
Bartosz Taudul
0b9ef7e514
Disable broadcast if TRACY_NO_BROADCAST is defined.
2019-06-17 18:18:58 +02:00
Bartosz Taudul
e609c0fdce
UDP broadcast loop.
2019-06-17 02:25:09 +02:00
Bartosz Taudul
014c3ed63b
Use non-reference, optimized NEON ETC1 compression.
2019-06-15 15:35:57 +02:00
Bartosz Taudul
ab4e99229d
Indicate whether client is running on apple shitware.
2019-06-13 14:05:15 +02:00
Bartosz Taudul
e5d5abf59a
Add NEON path for ETC1 compression.
2019-06-13 02:04:19 +02:00
Bartosz Taudul
d3e0163dd4
Add byteswap for apple.
2019-06-12 16:54:44 +02:00
Bartosz Taudul
37d1457b44
Frame image may need flipping.
2019-06-12 15:28:32 +02:00
Bartosz Taudul
04dd33f5c4
Fix mismatched linkage.
2019-06-11 23:51:12 +02:00
Rokas K. (rku)
c4e05b6264
Merged in rokups/tracy/dllimport-cleanup (pull request #36 )
...
Clean up imported functions in multi-dll projects.
Approved-by: Till Rathmann <till.rathmann@gmx.de>
2019-06-11 15:04:34 +00:00
Bartosz Taudul
57b8b425ba
Discard send buffer data after disconnect.
2019-06-10 02:11:29 +02:00
Bartosz Taudul
80dff1ede1
Add connection id for on-demand mode.
...
Long-lived zones could send their end events without begin events in a
following scenario:
1. On-demand connection is made.
2. Zone begin is emitted, m_active is set to true.
3. Connection is terminated.
4. A new connection is made.
5. Zone end is emitted, because m_active is true.
To this point it was assumed that all zone end events will happen before
a new connection is made, but it's not necessarily true.
2019-06-09 17:15:47 +02:00
Bartosz Taudul
0db9c73d76
Immediately react to connection termination.
2019-06-09 16:51:39 +02:00
Bartosz Taudul
cc5bad294a
More strict memory ordering for on-demand connection status.
2019-06-09 16:48:00 +02:00