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

502 Commits

Author SHA1 Message Date
Bartosz Taudul bdfb568742 Fix div tables for max range on all channels. 2019-07-01 12:31:06 +02:00
Bartosz Taudul 684a119a2c Fix order of checks for including intrinsics. 2019-07-01 11:45:16 +02:00
Bartosz Taudul 983c48994b Write block data directly to memory. 2019-06-30 11:44:32 +02:00
Bartosz Taudul 9b8c18f99e Improve readability. 2019-06-30 11:44:00 +02:00
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