Commit Graph
7034 Commits
Author SHA1 Message Date
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
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
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