Commit Graph

3838 Commits

Author SHA1 Message Date
Bartosz Taudul
5bd3f3de5f
Don't use space for frame sets that are out of view range.
This becomes problematic at the end of the range, as continuous frames do not
have an "end", but rather essentially persist until the last recorded event.
2022-09-07 23:35:27 +02:00
Bartosz Taudul
48e7a17d1d
Clicking on a CPU data thread will make it visible. 2022-09-05 20:30:03 +02:00
Bartosz Taudul
d2ab66195c
Allow changing timeline item collapsed state. 2022-09-05 20:29:45 +02:00
Bartosz Taudul
5200ea2c84
Hide frame related information if no frame instrumentation. 2022-09-05 20:12:36 +02:00
Bartosz Taudul
23ebce2862
Implement checking if frames are in use. 2022-09-05 20:12:12 +02:00
Bartosz Taudul
53632ccb5b
Cleanup. 2022-09-04 14:56:12 +02:00
Bartosz Taudul
44efb15df1
Remove VisData.
Its functionality is now incorporated into TimelineItem. For purposes of
maintaining visibility of frame sets and locks a much simpler ptr -> bool map
is now used.
2022-09-04 14:46:51 +02:00
Bartosz Taudul
ad2fc03125
Migrate CPU data to timeline item system. 2022-09-04 14:31:02 +02:00
Bartosz Taudul
827b390e34
Add mutable ViewData accessor. 2022-09-04 14:31:01 +02:00
Bartosz Taudul
9c464e9f05
Make timeline item visibility functions virtual. 2022-09-04 14:31:00 +02:00
Bartosz Taudul
135d3b7f30
Fix GPU contexts in options menu. 2022-09-04 13:52:53 +02:00
Bartosz Taudul
06d0989161
Add GPU index accessor. 2022-09-04 13:52:17 +02:00
Bartosz Taudul
9fdafb2ecc
Make the GPU context name primary focus. 2022-09-04 13:47:06 +02:00
Bartosz Taudul
60579d6334
Migrate drawing GPU data to the new timeline item system. 2022-09-04 13:39:20 +02:00
Bartosz Taudul
ec3e88ce53
Manage GPU index counter in View. 2022-09-04 13:37:19 +02:00
Bartosz Taudul
2711af39e5
Check if zoom range is valid.
This is important for GPU zones, which may have broken timing data.
2022-09-04 13:16:26 +02:00
Bartosz Taudul
e41deb1ff6
Check item map too for hidden items. 2022-09-03 23:43:26 +02:00
Bartosz Taudul
10faf16aee
Allow access to item map. 2022-09-03 23:43:17 +02:00
Bartosz Taudul
b66e10972a
Add visibility accessor to TimelineItem. 2022-09-03 23:42:52 +02:00
Bartosz Taudul
ca125bd44c
Collapse Tracy threads by default.
Note that this will likely work only when loading existing traces. In live
captures the thread name may not have yet been retrieved at the point when
timeline item insertion occurs, which will prevent the check from succeeding.
2022-09-03 23:35:35 +02:00
Bartosz Taudul
ec3dcaeef3
Migrate drawing CPU threads to the new timeline item system. 2022-09-03 23:28:54 +02:00
Bartosz Taudul
e3007062fc
Add support for drawing timeline item overlays. 2022-09-03 23:24:00 +02:00
Bartosz Taudul
8e713e6366
Limit access to internal methods. 2022-09-03 23:17:57 +02:00
Bartosz Taudul
5cbf06ba31
Only clip timeline item contents.
Timeline item header may overflow over other items, e.g. the crash marker is
taller than the header line.
2022-09-03 23:09:23 +02:00
Bartosz Taudul
840709fe46
Push pxns to HeaderExtraContents(). 2022-09-03 22:55:54 +02:00
Bartosz Taudul
3ee928a7d1
Fix mass visibility changing. 2022-09-03 22:08:08 +02:00
Bartosz Taudul
d65bde99a2
Hide timeline item if it had no content. 2022-09-03 21:57:56 +02:00
Bartosz Taudul
3780c47bb6
Check if plot is in drawing range. 2022-09-03 21:46:00 +02:00
Bartosz Taudul
0e94ed8fc6
DrawContents reports if anything was drawn. 2022-09-03 21:41:38 +02:00
Bartosz Taudul
eaa78de534
Don't draw separator when timeline item is collapsed. 2022-09-03 21:14:56 +02:00
Bartosz Taudul
5c90fe7a6e
Use the indented spacing.
Plots for some reason were packed tighter.
2022-09-03 21:11:36 +02:00
Bartosz Taudul
6abce4e0c9
Pass hover parameter to HeaderExtraContents(). 2022-09-03 20:04:24 +02:00
Bartosz Taudul
6e36469840
Add non-View-dependent thread color getter. 2022-09-03 19:28:50 +02:00
Bartosz Taudul
0c4ca4cd69
Add function for highlighting a thread. 2022-09-03 19:25:02 +02:00
Bartosz Taudul
e19a3a8767
Implement check for empty plot. 2022-09-03 19:18:01 +02:00
Bartosz Taudul
450fbf5ea0
Draw timeline item separator lines with proper colors. 2022-09-03 19:06:06 +02:00
Bartosz Taudul
fa20700825
Replace timeline item open/close triangles with font carets. 2022-09-03 18:53:05 +02:00
Bartosz Taudul
119152aac1
Worker must be mutable.
This is to allow use of various accessors that cache results, etc.
2022-09-03 18:34:11 +02:00
Bartosz Taudul
b481bb367c
Switch plot drawing to the timeline items system. 2022-09-03 17:51:33 +02:00
Bartosz Taudul
55a82ea714
Make plot color/value formatting generic utilities.
Previous implementations of these functions (in TracyView) are still used
throughout the code. They will be removed in subsequent commits.
2022-09-03 17:51:32 +02:00
Bartosz Taudul
1736fb387a
Allow access to timeline items stored in the controller.
This is similar to the previously existing Vis() access function.
2022-09-03 17:51:32 +02:00
Bartosz Taudul
9355a14657
New TimelineController begin/end logic. 2022-09-03 17:51:31 +02:00
Bartosz Taudul
8034fce416
Allow adding timeline items to TimelineController.
TimelineItem class is basically an expansion of the previous VisData
structure. After the transition process is finished the VisData map will be
removed, as it will no longer have any function.
2022-09-03 17:51:30 +02:00
Bartosz Taudul
449dff0eca
Store View and Worker in TimelineController. 2022-09-03 17:51:30 +02:00
Bartosz Taudul
b42182f0a8
Add base class for timeline items. 2022-09-03 17:51:29 +02:00
Bartosz Taudul
427dc4fffa
Make View::ZoomToRange() public. 2022-09-03 17:51:26 +02:00
jkriegshauser
59ae71df2b
Import frame messages (#459)
Co-authored-by: Joshua Kriegshauser <joshuakr@nvidia.com>
Co-authored-by: Bartosz Taudul <wolf@nereid.pl>
2022-09-02 19:44:37 +02:00
Bartosz Taudul
8b75a3fab0
Fix callstackPayload overflow when data to read size was POT. 2022-09-02 18:52:32 +02:00
Bartosz Taudul
2f44f65e02
Don't copy short_ptr. 2022-09-02 18:47:13 +02:00
Bartosz Taudul
107975c8de
Fix time rounding logic.
PrintSmallInt() expects values in the 0-999 range, but the in+1 may produce
1000 here. This is invalid and it either asserted, or outputted an empty
string.

Workaround by simple outputting "1000" as the value here.

This function is only used in context of printing time, and only in specific
context. The end result will be that values like "1000 us" or "1000 ms" may
appear, where they would be otherwise shortened to "1 ms" or "1 s". This may
be a bit unusual, but is acceptable, as the real time value has not yet
crossed the threshold required for such shortening.
2022-08-28 14:50:38 +02:00