Commit Graph

8430 Commits

Author SHA1 Message Date
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
Bartosz Taudul
3207df8236
Merge pull request #460 from Krzmbrzl/revamp-cmake
CMake: Fix invalid syntax
2022-09-03 17:51:09 +02:00
Robert Adam
92137e8050 CMake: Fix invalid syntax
In 1f7656e845 I introduced a new option
but for setting its default value, I accidentally introduced invalid
cmake syntax that blows off as soon as BUILD_SHARED_LIBS is actually
defined to be non-empty.
2022-09-03 17:13:31 +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
66255dc950
Update NEWS. 2022-09-02 01:28:08 +02:00
Bartosz Taudul
2cc5eff9a2
Normalize symbol paths on libbacktrace systems. 2022-09-02 01:23:29 +02:00
Bartosz Taudul
8cc43284bd
Add path normalization function. 2022-09-02 01:23:14 +02:00
Bartosz Taudul
165cc22115
Merge pull request #454 from Krzmbrzl/revamp-cmake
CMake: Add option to explicitly set lib type
2022-08-31 21:17:46 +02:00
Bartosz Taudul
5289a9c999
Merge pull request #453 from Krzmbrzl/fix-cpuid-compile-error
Fix cpuid symbol redefinition on older GCC versions
2022-08-31 21:14:58 +02:00
Robert Adam
1f7656e845 CMake: Add option to explicitly set lib type
With this new option, it is now possible to explicitly build Tracy as a
shared or static library independent from the BUILD_SHARED_LIBS
variable, which always acts on a global scope (thus, affecting all CMake
targets).

If the options is not explicitly given, it will default to whatever
BUILD_SHARED_LIBS would indicate, leaving the default behavior
unchanged.
2022-08-31 18:06:51 +02:00
Robert Adam
0aeadb4c49 Use TRACY_PUBLIC_DIR throughout 2022-08-31 18:06:22 +02:00
Robert Adam
ece8779362 Fix cpuid symbol redefinition on older GCC versions
Since commit 940f32c1a8 building the Tracy
library on Linux using a GCC version < 11 would result in compile errors
due to symbol redefinitions of __get_cpuid_max, __get_cpuid and
__get_cpuid_count.

This is because prior to GCC 11 the cpuid.h header file did not have any
include guards and thus including this header more than once would
produce the abovementioned errors.

To work around this issue, including cpuid.h has been wrapped into a
custom header file that itself uses include guards and thus shields
cpuid.h from being included multiple times.

Fixes #452
2022-08-31 17:59:46 +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
Bartosz Taudul
f0386d2f72
Update manual. 2022-08-28 13:26:15 +02:00
Bartosz Taudul
cedd8b590c
Update NEWS. 2022-08-28 13:21:24 +02:00
Bartosz Taudul
c2d527e2e7
Cosmetics. 2022-08-28 13:17:29 +02:00