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

788 Commits

Author SHA1 Message Date
Bartosz Taudul 5b642cad01 Implement combining sample callstacks.
This is required, because Windows will send two callstacks with the same
timestamp, one for kernel-space, second for user-space.
2021-06-15 02:25:12 +02:00
Bartosz Taudul 0fdd5ab01b Extract callstack sample processing implementation. 2021-06-15 01:59:49 +02:00
Bartosz Taudul 891e1ac280 Read combine samples flag on server. 2021-06-15 01:33:43 +02:00
Bartosz Taudul 06dcdd342f Combine flags in welcome message. 2021-06-15 01:26:50 +02:00
Bartosz Taudul 2d2a5c92fd Increase symbol retrieval size limit to 128 KB. 2021-06-13 01:16:29 +02:00
Bartosz Taudul ff54c29913 Save/load GPU timer overflow information. 2021-06-09 21:12:50 +02:00
Bartosz Taudul 27e61b8204 Remove not needed check. 2021-06-09 21:08:48 +02:00
Bartosz Taudul b7b9912b10 Handle GPU timer overflows with heuristics. 2021-06-09 21:08:47 +02:00
Bartosz Taudul 9c2ea8a71f Specify minimum length of subframe skip in one place. 2021-06-09 02:13:00 +02:00
Bartosz Taudul 86510c48e0 Use proper type. 2021-06-04 15:16:44 +02:00
Bartosz Taudul 3c31fb56a8 Allow range-limiting hardware samples. 2021-06-04 13:58:00 +02:00
Bartosz Taudul a1acea0c50 Support hw sample times on server. 2021-06-04 13:38:45 +02:00
Bartosz Taudul b7c5939bb8 Merge remote-tracking branch 'origin/master' into hw 2021-06-02 01:12:28 +02:00
Bartosz Taudul 94ec6a0d9d Move TracyYield.hpp to common. 2021-05-31 02:19:35 +02:00
Bartosz Taudul f8ccd8c40d Move TracyStackFrames to common. 2021-05-23 23:51:56 +02:00
Bartosz Taudul a6011cd1ad Ignore intrinsic wrappers in callstack frames.
With gcc/clang the wrapper functions for intrinsics are annoyingly inserted at
top level of stack traces, making it hard to see the call site. Filter out all
known instrinsic headers.
2021-05-23 23:22:45 +02:00
Bartosz Taudul c6f071a66a Save and load hardware sample data. 2021-05-20 19:37:51 +02:00
Bartosz Taudul 227a8d1aee Process additional hardware sample data. 2021-05-20 02:19:11 +02:00
Bartosz Taudul 3a0e12043d Differentiate hw samples from code addresses. 2021-05-19 23:29:27 +02:00
Bartosz Taudul 3228e20c2e Add hardware samples accessors. 2021-05-19 23:05:50 +02:00
Bartosz Taudul 373a2b66c6 Collect hardware sample data. 2021-05-19 23:05:33 +02:00
Bartosz Taudul 64ed3d057d Add no-op dispatch of HW samples. 2021-05-19 21:09:55 +02:00
Bartosz Taudul 8219a0e4ca Fix shift. 2021-05-15 18:39:01 +02:00
Bartosz Taudul c91c7a7fd5 Use zstd dict for packing/unpacking frame images.
This only affects run-time memory usage and needs an offline calculation of
the dictionary. Results vary depending on similarity of image blocks.

agora        34.96 MB ->  28.21 MB
agora2       40.75 MB ->  34.14 MB
android-vk   36.21 MB ->  18.44 MB
astar3       44.72 MB ->  43.38 MB
clipper1    134.36 MB ->  52.16 MB
fi           50.82 MB ->  40.79 MB
fi-big      537.74 MB -> 469.54 MB
test         23.26 MB ->   1.87 MB
2021-05-15 18:06:44 +02:00
Bartosz Taudul d555256546 Don't use separate texture compression context.
Previously it was needed, as saving could be made at the same time the UI was
active. Currently saving blocks UI access to data structures, as it possibly
may need to sort unsorted vectors.
2021-05-15 18:04:14 +02:00
Bartosz Taudul a53f5702b1 Calculate frame images dictionary. 2021-05-15 18:03:50 +02:00
Bartosz Taudul 3d75bf653a Add interface for frame images dict building. 2021-05-15 15:50:20 +02:00
Bartosz Taudul 7f1f929662 Decode PID and TID when generating imported thread names. 2021-05-15 13:08:51 +02:00
Bartosz Taudul 8ea02a4794 Cosmetics. 2021-05-15 13:03:42 +02:00
Bartosz Taudul 4f76fb2cda Store location in SourceLocation during chrome import. 2021-05-11 01:37:59 +02:00
David Farrell dcf33b51cf Updated comment to say that both OpenGL _and_ Direct3D11
don't need per-zone thread id.
2021-05-01 16:31:06 -07:00
Bartosz Taudul 0e6a25fdd8 Directly compare time, with data piggybacked in low bits. 2021-05-01 15:04:56 +02:00
David Farrell be963f184c Change ev.ptr nullptr early-out to happen only when there is not a previous allocation for address 0. Custom memory pools (like custom allocators for Vulkan memory pools) can allocate at address 0, so the previous code would cause the Tracy server to alloc(0), free(0) (but early out), then on the next alloc(0) it would have a MemAllocTwiceFailure (because it skipped the free). 2021-04-21 11:53:55 -07:00
Bartosz Taudul e189f596ac Add no-statistics guards. 2021-04-18 22:59:10 +02:00
Bartosz Taudul d234f4dbe4 Generate child sample data during capture. 2021-04-18 22:44:37 +02:00
Bartosz Taudul a5afa2cb4e Use correct address for child sample information. 2021-04-18 20:43:23 +02:00
Bartosz Taudul 34b80ac52f Add child samples count getters. 2021-04-18 15:03:42 +02:00
Bartosz Taudul df462f109d Reconstruct child sample data. 2021-04-18 15:00:19 +02:00
Bartosz Taudul 4dc6222ba1 Add child samples data structure. 2021-04-18 14:42:35 +02:00
Bartosz Taudul 07996c16cf Fix gcc 8.3 with LTO.
In member function ‘UpdateSampleStatisticsImpl’:
warning: argument 1 value ‘18446744073709551598’ exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=]
         auto cfdata = (CallstackFrame*)alloca( ( fxsz-1 ) * sizeof( CallstackFrame ) );
                                        ^
2021-04-09 01:15:18 +02:00
Bartosz Taudul 8dd92f32af Handle memory double allocation failure. 2021-03-09 22:19:42 +01:00
Bartosz Taudul 6d5710901c Fix ZoneColor channel order. 2021-03-09 02:14:57 +01:00
Bartosz Taudul 18e893752b Use SortedVector for source location zones. 2021-02-07 19:35:53 +01:00
Bartosz Taudul c220177828 Do postponed work only when needed. 2021-02-07 18:29:29 +01:00
Bartosz Taudul 9bb1d13afa Revert to non-shared mutex for data lock.
The main change here is that the UI will be unresponsive when a trace is being
saved when there's no capture being performed. Note that the UI was always
frozen during saving if the capture was live, due to how starvation is
prevented by the locks.
2021-02-07 18:11:36 +01:00
Bartosz Taudul 417d526581 Use SortedVector for plot data. 2021-02-07 15:52:08 +01:00
Bartosz Taudul 3400331de1 Check source file validity against executable time. 2021-02-06 22:59:07 +01:00
Bartosz Taudul ad2062fb40 Last-resort source code transfer from client to server. 2021-02-04 00:45:00 +01:00
Bartosz Taudul f97223e394 Rename ParamPingback to more generic AckServerQueryNoop. 2021-02-04 00:03:58 +01:00
Bartosz Taudul c4a6f3f980 Save/load GPU context names. 2021-01-31 19:15:23 +01:00