Commit Graph

3907 Commits

Author SHA1 Message Date
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
efc1777051
Implement range limit for child samples. 2021-05-19 20:26:50 +02:00
Bartosz Taudul
5ec1313af1
Drop legacy code for reading long unsupported traces. 2021-05-18 02:24:56 +02:00
Giulio Eulisse
aace8ac317
Update TracyView.cpp 2021-05-17 12:09:14 +02:00
Giulio Eulisse
2cdc3abba2
Update TracyImGui.hpp 2021-05-17 12:07:35 +02:00
Giulio Eulisse
4ab706d538
Update TracyMouse.cpp 2021-05-17 12:07:06 +02:00
Giulio Eulisse
bcb250aaab
Update TracySourceView.cpp 2021-05-17 12:06:37 +02:00
Giulio Eulisse
63e2c16e74
Do not use relative include path for ImGUI.h
#pragma once gets confused by `../../imgui/imgui.h` and `imgui.h` on macOS with XCode 12.5.
2021-05-17 12:05:14 +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
925a23a053
Add texture packer with zstd dict support. 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
56958a018c
Only show dict building checkbox if there are frame images. 2021-05-15 15:52:54 +02:00
Bartosz Taudul
3d75bf653a
Add interface for frame images dict building. 2021-05-15 15:50:20 +02:00
Bartosz Taudul
92ae003308
Improve trace saving experience.
This adds additional dialog, which allows selection of compression mode. Also,
when a trace cannot be saved, a failure popup will be displayed.
2021-05-15 14:25:45 +02:00
Bartosz Taudul
ab830962c8
Fix notifications disappearing after a long UI lock. 2021-05-15 14:21:45 +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
Bartosz Taudul
db734e3e0a
Parse custom location tags. 2021-05-11 01:37:59 +02:00
Bartosz Taudul
8d21202aaa
Remove floating point computation within hot loops. 2021-05-02 16:36:35 +02:00
Bartosz Taudul
7708184f73
Merge pull request #204 from nosferalatu/Direct3D11
Direct3D11
2021-05-02 02:46:24 +02:00
Bartosz Taudul
ab627f9da2
Build zig-zag path in a preallocated buffer. 2021-05-02 02:40:36 +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
David Farrell
e9fd767884 Added missing comma in GpuContextNames 2021-05-01 15:03:02 -07:00
Rahul Gupta
a950e444b5 Updated as suggested by wolf in the PR 2021-05-01 14:55:45 -07:00
Bartosz Taudul
4a8bfb4fac
Add ctrl/shift modifiers to mouse wheel zoom speed. 2021-05-01 18:20:19 +02:00
Bartosz Taudul
0e6a25fdd8
Directly compare time, with data piggybacked in low bits. 2021-05-01 15:04:56 +02:00
Bartosz Taudul
a688d24665
Replace two memory reads with just one. 2021-05-01 14:32:02 +02:00
Bartosz Taudul
088dd06197
Use DrawLine() in TracyView.cpp. 2021-05-01 13:59:43 +02:00
Bartosz Taudul
837272afba
Properly align context switch darken boxes. 2021-05-01 13:39:19 +02:00
Bartosz Taudul
a1aefe33a0
Use DrawLine() in TracySourceView.cpp. 2021-05-01 12:55:56 +02:00
Bartosz Taudul
c27c81db4c
Use DrawLine() in DrawCpuData(). 2021-05-01 02:59:43 +02:00
Bartosz Taudul
fe22d5a6f6
Add fast line drawing function.
This skips unnecessary construction of ImVec2 vector.

Note: unlike AddLine(), this function doesn't add 0.5 to x and y coordinates.
The user is expected to do it on his own, which if done in just one place will
be performance beneficial.
2021-05-01 02:57:35 +02:00
Bartosz Taudul
b9ce9540be
Remove namespace indent in TracyImGui.hpp. 2021-05-01 02:26:46 +02:00
Bartosz Taudul
57d87af8a2
Add tooltips for register read/write markers. 2021-05-01 00:22:11 +02:00
Bartosz Taudul
de5f258b03
Display complementary assembly address tooltips. 2021-04-29 20:33:10 +02:00
Bartosz Taudul
854439cdb1
Display jump target in asm instruction tooltip. 2021-04-29 20:27:32 +02:00
Bartosz Taudul
ac9b97319a
Extract jump name retrieval. 2021-04-29 20:08:18 +02:00
Bartosz Taudul
7cfaaf6310
Exactly known latency shouldn't vary. 2021-04-29 18:24:37 +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
0bbda5ea11
Pressing Z will temporarily switch child calls. 2021-04-20 18:19:00 +02: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
fb872fa088
Add child samples to source view percentages. 2021-04-18 22:23:55 +02:00
Bartosz Taudul
cba72859e9
No parents if only child samples. 2021-04-18 22:00:49 +02:00
Bartosz Taudul
141a4bc0fe
Fix scroll bar display of child-only samples. 2021-04-18 22:00:49 +02:00
Bartosz Taudul
c7da9b1092
Fix rendering of lines with no local samples. 2021-04-18 22:00:49 +02:00
Bartosz Taudul
66ef71cf7b
Gather child IP stats for addresses without samples. 2021-04-18 22:00:49 +02:00
Bartosz Taudul
ef93c69ee9
Make child calls more discoverable. 2021-04-18 22:00:48 +02:00
Bartosz Taudul
2009f63e32
Group time/samples data by local and child. 2021-04-18 20:43:23 +02:00
Bartosz Taudul
a5afa2cb4e
Use correct address for child sample information. 2021-04-18 20:43:23 +02:00
Bartosz Taudul
4970c48c51
Don't shadow variables. 2021-04-18 20:43:23 +02:00
Bartosz Taudul
c859d655ad
Include child calls in asm view percentages. 2021-04-18 20:43:22 +02:00
Bartosz Taudul
50a1faa880
Don't print zero sample counts in tooltips. 2021-04-18 20:16:05 +02:00
Bartosz Taudul
5f97c484f1
Include child samples in symbol view file list. 2021-04-18 19:42:24 +02:00
Bartosz Taudul
046881e32f
Add AddrStat::operator+=( AddrStat ). 2021-04-18 19:40:43 +02:00
Bartosz Taudul
22a8c53e8b
Account for case with no local samples (external only). 2021-04-18 19:21:53 +02:00
Bartosz Taudul
b217e00dd9
Hackfix support for UTF-8 in source files. 2021-04-18 19:14:12 +02:00
Bartosz Taudul
526d0cd22a
Display child time and samples in symbol stats. 2021-04-18 19:10:39 +02:00
Bartosz Taudul
c5eb398319
Gather external IP stats (no range limit case). 2021-04-18 19:04:29 +02:00
Bartosz Taudul
8db9bcf7f8
Disable child calls checkbox while processing data. 2021-04-18 18:27:39 +02:00
Bartosz Taudul
0d8ee47231
Store instruction pointer stats as AddrStat. 2021-04-18 16:16:47 +02:00
Bartosz Taudul
3845c392fa
Cosmetics. 2021-04-18 15:52:42 +02:00
Bartosz Taudul
55efa64b3f
Do not copy instruction pointer maps. 2021-04-18 15:51:50 +02:00
Bartosz Taudul
32e3c0ebb1
Display child sample counts in info window. 2021-04-18 15:06:54 +02:00
Bartosz Taudul
34b80ac52f
Add child samples count getters. 2021-04-18 15:03:42 +02:00
Bartosz Taudul
2f6adf3641
Add child calls UI. 2021-04-18 15:00:19 +02:00
Bartosz Taudul
ffe8aebfbd
Extend address stats to include child samples. 2021-04-18 15:00:19 +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
fa8c99fd74
Fix missing limit range checkbox in source view.
This could happen if range was limited in such a way, that no sample was
within the region.
2021-04-18 14:42:35 +02:00
Bartosz Taudul
aee39d3fcd
Disable collapsing of connection window. 2021-04-18 14:42:31 +02:00
Bartosz Taudul
d71d76414b
Allow setting NO_PARALLEL_SORT externally. 2021-04-15 19:55:50 +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
2477f33a6d
Update robin-hood-hashing to 3.11.1. 2021-04-08 01:07:56 +02:00
Bartosz Taudul
592644ae43
Don't issue warning if only disconnect is in send queue. 2021-04-01 20:16:47 +02:00
Bartosz Taudul
9b7f759347
Allow checking if disconnect was requested. 2021-04-01 20:16:29 +02:00
Bartosz Taudul
450013bc27
Update to current uops.info xml file.
This updates ZEN3 and adds Tiger Lake.
2021-04-01 18:46:00 +02:00
Bartosz Taudul
da29ec975b
Release 0.7.7. 2021-04-01 18:15:07 +02:00
Bartosz Taudul
8ddf26fff2
Simplify code. 2021-03-27 15:24:42 +01:00
Bartosz Taudul
4c4fc7197c
Add source preview to entry call stacks window. 2021-03-27 14:15:18 +01:00
Bartosz Taudul
9bbffcb67f
Add source tooltip in memory frame trees. 2021-03-27 14:09:40 +01:00
Bartosz Taudul
5ebffe388a
Check for file name pointer validity. 2021-03-27 14:09:35 +01:00
Bartosz Taudul
ff6ecef5f3
Add source preview to statistics window. 2021-03-27 14:02:52 +01:00
Bartosz Taudul
62ac5544b6
Trim empty lines at top and bottom of source preview. 2021-03-27 13:55:22 +01:00
Bartosz Taudul
a15ba0c7fb
Show source preview tooltip in find zones. 2021-03-27 13:47:20 +01:00
Bartosz Taudul
895a63b41a
Add source preview to call stack window. 2021-03-27 13:43:12 +01:00
Bartosz Taudul
e2be45c0ba
Show preview of lock source locations in options window. 2021-03-27 13:43:12 +01:00
Bartosz Taudul
8f0c5e867e
Source tooltip implementation. 2021-03-27 13:43:11 +01:00
Bartosz Taudul
0b6e55ee87
Store fixed-width font in View. 2021-03-27 13:43:11 +01:00
Bartosz Taudul
d56f7dab09
Remove unneeded forward declarations. 2021-03-27 13:05:59 +01:00
Bartosz Taudul
1cb6c17991
Move syntax color tables to a common header. 2021-03-27 13:03:19 +01:00
Bartosz Taudul
ff5435ff67
Cosmetics. 2021-03-27 13:03:19 +01:00
Bartosz Taudul
0b5a923e91
Display preview of source code for assembly instructions. 2021-03-26 02:42:15 +01:00
Bartosz Taudul
bd4335bace
Move source file parsing logic to a separate file. 2021-03-26 02:42:14 +01:00
Bartosz Taudul
174bb4d2f1
Extract source code tokenizer to a separate file. 2021-03-26 01:53:49 +01:00
Bartosz Taudul
b80899863b
Consistently use "entry call stacks". 2021-03-26 00:40:54 +01:00
Bartosz Taudul
2fe1fb974a
Display number of entry call stacks in a tooltip. 2021-03-26 00:27:23 +01:00
Bartosz Taudul
514acf1bac
Don't copy stats. 2021-03-26 00:21:19 +01:00
Bartosz Taudul
29133431bc
Calculate symbol address for parents earlier.
While currently this makes no sense, it will be also used in common code
path.
2021-03-26 00:17:46 +01:00
Bartosz Taudul
ec16182887
Only pack pointer if needed. 2021-03-26 00:14:12 +01:00
Stone Tickle
1918c0ffe6
fix TRACY_NO_FILESELECTOR macro 2021-03-17 08:51:24 +09: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
b51e3fbbc8 Remove unneeded variable. 2021-02-07 21:08:52 +01:00
Bartosz Taudul
9b5cc3352a Fast search for zone tid in GetZoneThreadData(). 2021-02-07 20:27:33 +01:00
Bartosz Taudul
c6c9fec383 Faster search for tid of zone in GetZoneParent(). 2021-02-07 20:27:33 +01:00
Bartosz Taudul
35267abc8e Remove obsolete GetZoneDepth() method. 2021-02-07 19:58:23 +01:00
Bartosz Taudul
02451fecd7 Remove not needed methods from SortedVector. 2021-02-07 19:36:45 +01:00
Bartosz Taudul
18e893752b Use SortedVector for source location zones. 2021-02-07 19:35:53 +01:00
Bartosz Taudul
0100d0beb4 SortedVector has to provide reserve(). 2021-02-07 19:35:23 +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
90c873421c Implement main sorting functionality in SortedVector. 2021-02-07 15:50:27 +01:00
Bartosz Taudul
e2db68e5f0 Comment out unneeded (for now) methods in SortedVector. 2021-02-07 15:49:16 +01:00
Bartosz Taudul
dcd76fc369 Add pass-through sorted vector wrapper. 2021-02-07 14:43:05 +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
53505373c7 Always show full symbol name in ghost zone popups. 2021-01-31 20:49:49 +01:00
Bartosz Taudul
ab4d7259ea Display GPU context name in options menu. 2021-01-31 19:15:23 +01:00
Bartosz Taudul
f068a1d31f Display GPU context name in thread track labels. 2021-01-31 19:15:23 +01:00
Bartosz Taudul
c4a6f3f980 Save/load GPU context names. 2021-01-31 19:15:23 +01:00
Bartosz Taudul
7bb6114270 Process GPU context name messages. 2021-01-31 19:15:23 +01:00
Bartosz Taudul
82a9c3b2c8 Display program build time. 2021-01-31 17:58:33 +01:00
Bartosz Taudul
3ff1692918 Add executable time accessor. 2021-01-31 17:51:55 +01:00
Bartosz Taudul
8d39f91c6e Save/load executable image mtime. 2021-01-31 17:51:16 +01:00
Bartosz Taudul
6c728f6d23 Cosmetics. 2021-01-31 17:24:41 +01:00
Bartosz Taudul
c08d591bf3 Use proper capstone include path. 2021-01-26 20:35:57 +01:00
Bartosz Taudul
2b3405b9c7 Fix usage of deprecated stat64 on apple. 2021-01-26 20:09:34 +01:00
Bartosz Taudul
81c91a87fc Search in cache before issuing syscall. 2021-01-26 01:47:00 +01:00
Bartosz Taudul
ccf441176b
Merge pull request #168 from jkriegshauser/improve-import
Improve chrome import
2021-01-22 14:57:52 +01:00
joshuakr
c96f01956d PR feedback: write the name into the tracy file 2021-01-21 18:33:59 -08:00
joshuakr
c5261e42ba Fix for macOS build 2021-01-21 17:41:55 -08:00
Bartosz Taudul
efc856f842 Fix vertical padding of items in CPU data table. 2021-01-22 02:34:01 +01:00
joshuakr
2920f97911 Imported Chrome traces bring over thread names 2021-01-21 17:26:00 -08:00
joshuakr
25a95d99c0 Imported chrome traces show the file name in the title bar 2021-01-21 17:25:53 -08:00
Bartosz Taudul
239a17deb9 Fix typo. 2021-01-22 02:17:12 +01:00
Bartosz Taudul
e33f8e66d5 Set appropriate flags for CPU data table columns. 2021-01-21 23:26:32 +01:00
Bartosz Taudul
dee6395acf Update pdqsort.
978bc36a9b
2021-01-21 23:26:32 +01:00
Bartosz Taudul
0fc6ebc67d Another ImGuiTableColumnFlags_WidthAuto fix. 2021-01-21 23:26:32 +01:00
Bartosz Taudul
a4764141c6 Support serial callstacks when processing GPU zones. 2021-01-15 22:11:34 +01:00
Bartosz Taudul
d4c0d4fbb7 Rename CallstackMemory to CallstackSerial. 2021-01-15 20:49:39 +01:00
Bartosz Taudul
c66b2cb536 Process allocated source location GPU zones. 2021-01-15 20:33:45 +01:00
Bartosz Taudul
d827832d4d Don't operate on short_ptr. 2021-01-15 20:25:07 +01:00
Bartosz Taudul
44020487d2 Keep zone begin implementations together. 2021-01-15 20:20:34 +01:00
Bartosz Taudul
cc5c20db46 Bump ImGui. 2021-01-08 19:33:04 +01:00
Bartosz Taudul
6e715cf346 Use tables for callstack sample parents. 2020-12-16 15:05:35 +01:00
Bartosz Taudul
f1d48b1298 Use tables for call stack view. 2020-12-16 15:01:07 +01:00
Bartosz Taudul
325bcc035a Use tables to list memory entries. 2020-12-15 15:43:55 +01:00
Bartosz Taudul
6bb77d55a1 Use tables in CPU data view. 2020-12-09 21:53:36 +01:00
Bartosz Taudul
dc6893f419 Use tables for sampled statistics menu. 2020-12-09 21:36:53 +01:00
Bartosz Taudul
63e0170048 Find zones zone list fixes. 2020-12-09 21:18:40 +01:00
Bartosz Taudul
f1a641a838 Use tables for instrumented zones statistics. 2020-12-09 20:55:00 +01:00
Bartosz Taudul
6300f59183 Use tables in find zone zones list. 2020-12-09 02:18:06 +01:00
Bartosz Taudul
c437ecfcf5 Remove unneeded variable. 2020-12-08 19:55:20 +01:00
Bartosz Taudul
a0bae4aa00 Allow hiding columns in some tables. 2020-12-08 19:55:20 +01:00
Bartosz Taudul
b4860bbe4d Use tables in messages list. 2020-12-08 19:55:20 +01:00
Bartosz Taudul
45078cd99d Remove table row backgrounds. 2020-12-08 19:55:20 +01:00
Bartosz Taudul
18ac6ee548 Use tables for time distribution. 2020-12-08 19:55:19 +01:00
Bartosz Taudul
34683ceb4d Use tables in the failure callstack view. 2020-12-08 19:55:19 +01:00
Bartosz Taudul
a0bf2f5605 ImGui::BeginTable() is conditional. 2020-12-08 19:55:19 +01:00
Bartosz Taudul
9a0e7abefa Use proper identifier. 2020-12-08 19:55:19 +01:00
Bartosz Taudul
c23eb2f7fb Limit table size to 14 elements. 2020-12-08 19:55:19 +01:00
Bartosz Taudul
d962301124 Use tables for message list in zone info window. 2020-12-08 19:55:19 +01:00
Bartosz Taudul
99c4b9ef5f Use tables for wait regions. 2020-12-08 19:55:19 +01:00
Bartosz Taudul
a7cdffa736 Use tables for trace parameters. 2020-12-08 19:55:19 +01:00
Bartosz Taudul
3495a5a678 Print Arm machine code as a 4-byte number would be printed. 2020-11-28 13:24:56 +01:00
Ben Vanik
7dfdad2e02 Adding ZoneColor to set a dynamic color override to an existing zone. 2020-11-27 20:12:24 +01:00
Bartosz Taudul
d0acee2a9a Add missing default no-op to switch. 2020-11-23 22:58:40 +01:00
Bartosz Taudul
34e208368d Add missing include. 2020-11-23 22:58:12 +01:00
Bartosz Taudul
de69fc9850 Check if plot data values are finite numbers. 2020-11-23 22:48:55 +01:00
Bartosz Taudul
37c9a5807f Fix statistics image name filter clear button. 2020-11-18 01:30:28 +01:00
Bartosz Taudul
53eacd3dc2 Add lost connection popup. 2020-11-18 01:24:22 +01:00
Bartosz Taudul
78fd523a4b Don't print "connected to" after disconnection. 2020-11-18 01:24:22 +01:00
Bartosz Taudul
e580dfeed3 Release 0.7.4. 2020-11-15 21:51:34 +01:00
Bartosz Taudul
63e3c236f4 Add Zen 3 to list of uarchs. 2020-11-15 21:29:59 +01:00
Bartosz Taudul
31e20cba68 Add Zen 3 uarch measurements. 2020-11-15 21:23:15 +01:00
Bartosz Taudul
af4c9b7cdc Draw frame targets. 2020-11-15 16:16:36 +01:00
Bartosz Taudul
8a1d8e4bac Add frame target UI. 2020-11-15 15:46:23 +01:00
Bartosz Taudul
81dcd2c767 Optional namespace shortening for ghost zones. 2020-11-14 16:23:35 +01:00
Bartosz Taudul
2ac7048248 Support source location dynamic colors for ghost zones. 2020-11-14 16:18:27 +01:00
Bartosz Taudul
2f77885fd9 Show if an matching microarchitecture is selected. 2020-11-13 17:37:53 +01:00
Bartosz Taudul
dcddf8898b Display memory usage also as a percentage. 2020-11-13 17:22:10 +01:00
Bartosz Taudul
2bf00b5eab Get available physical memory size in viewer. 2020-11-13 17:09:57 +01:00
Bartosz Taudul
d7059eca63 Prepare for Zen 3.
0xA20F10 is Vermeer.
2020-11-07 00:26:45 +01:00
Bartosz Taudul
30b4eafa22 Add Zen 2 CPU ids.
0x860F81 is Lucienne.
0x890F00 is VanGogh.
2020-11-07 00:26:00 +01:00
Bartosz Taudul
b36e821cc7 Add cascade lake CPU ids. 2020-11-07 00:20:55 +01:00
Bartosz Taudul
02c90db2e4 Display op description, if available. 2020-11-07 00:16:10 +01:00
Bartosz Taudul
322cc3bf12 Add missing op description list definition. 2020-11-07 00:15:58 +01:00
Bartosz Taudul
a5fd6662be Add CLX to list of uarchs. 2020-11-07 00:07:20 +01:00
Bartosz Taudul
c08d081f9a Update uops.info data to 05.11.2020. 2020-11-06 23:59:57 +01:00
Bartosz Taudul
e5967bdc52 Fix context switch + samples offset logic. 2020-11-06 00:20:26 +01:00
Bartosz Taudul
a48d540854 Cache statistics range-limited data. 2020-11-01 16:24:08 +01:00
Bartosz Taudul
87c3796e84 Fix division by zero if no sampling data is present. 2020-11-01 14:45:26 +01:00
Bartosz Taudul
7791654896 Allow copying callstack to clipboard. 2020-10-30 18:27:52 +01:00
Bartosz Taudul
0c48956410 Fix parsing of source files that do not end in newline. 2020-10-28 21:43:03 +01:00
Bartosz Taudul
651cfd5c21 Now apple has to be stupid.
Remove this when they get their shit together with parallel execution.
2020-10-28 21:16:26 +01:00
Bartosz Taudul
3976408550 Adapt to non-obsolete ImGuiListClipper interface. 2020-10-18 22:51:59 +02:00
Bartosz Taudul
00c9dd24dc Use last range mode if no frames are available.
If during the first 5 seconds of the trace there are no frames being reported,
the profiler will switch to following last 5 seconds of the trace, instead of
displaying three last frames.
2020-10-06 18:46:36 +02:00
Bartosz Taudul
98e3822c88 C arrays are so much fun! 2020-10-06 14:58:42 +02:00
Bartosz Taudul
c9b64ef5c5 Move list of Tracy stack frames to a separate file. 2020-10-06 14:37:39 +02:00
Bartosz Taudul
e613c458dd Fix vertical alignment. 2020-10-06 01:38:40 +02:00
Bartosz Taudul
5af7f6ea0b Add memory pool selector to zone info window. 2020-10-06 01:32:03 +02:00
Bartosz Taudul
07fe1266b0 Fix string iteration condition. 2020-10-02 19:31:42 +02:00
Bartosz Taudul
a2f0f7754d Fix integer types. 2020-10-02 19:30:01 +02:00
Bartosz Taudul
b6724bec3a Ports are uint16_t. 2020-10-02 18:51:54 +02:00
Bartosz Taudul
4791b63ef8 Use int64_t for time. 2020-10-02 18:37:15 +02:00
Bartosz Taudul
8aae9a1477 Shut the compiler up about unused helper functions. 2020-10-02 18:33:13 +02:00
Bartosz Taudul
a5e0336936 Add missing server query space updates to failure handling. 2020-09-30 16:48:59 +02:00
Bartosz Taudul
0d209b80f4 Show call stack in failure dialog. 2020-09-30 16:32:34 +02:00
Bartosz Taudul
9d392d2c90 Process call stack frames during failure dispatch. 2020-09-30 15:57:14 +02:00
Bartosz Taudul
641649143c Make symbol queries optional. 2020-09-30 15:49:29 +02:00
Bartosz Taudul
cecc3783a8 Handle single and second string data in failure dispatch. 2020-09-30 15:46:00 +02:00
Bartosz Taudul
3135191e90 Wait for failure callstack to be received. 2020-09-29 18:40:04 +02:00
Bartosz Taudul
d8e653ecb4 Set memory failure callstack. 2020-09-29 18:40:04 +02:00
Bartosz Taudul
98aaca9597 Default-initialize failure data struct. 2020-09-29 18:40:04 +02:00
Bartosz Taudul
44aef7660d Don't keep two variables to track one thing. 2020-09-29 17:04:41 +02:00
Bartosz Taudul
d5b6befda2 Handle new callstack ordering on server. 2020-09-29 16:59:28 +02:00
Bartosz Taudul
e3d690df63 Cosmetics. 2020-09-25 18:10:22 +02:00
Bartosz Taudul
4c3dce6712 Preserve separate memory tree state for each pool. 2020-09-25 17:55:43 +02:00
Bartosz Taudul
ae14e7a879 Expose custom memory pools in the UI. 2020-09-25 17:51:05 +02:00
Bartosz Taudul
d238c97452 Save/load custom memory types. 2020-09-25 16:39:00 +02:00
Bartosz Taudul
ba4315c286 Store memory name in MemData struct. 2020-09-25 16:36:03 +02:00
Bartosz Taudul
97e17a8d49 Support custom names for memory plots. 2020-09-24 01:31:24 +02:00
Bartosz Taudul
5a6c8b4696 Process named memory allocations. 2020-09-24 01:31:24 +02:00
Bartosz Taudul
751692eedd Don't track latest trace events if there's no connection. 2020-09-24 01:31:24 +02:00
Bartosz Taudul
d1ea97b474 Prepare for handling multiple memory areas. 2020-09-24 01:31:23 +02:00
Bartosz Taudul
46f0853f1b Process memory name payload transfer. 2020-09-24 01:31:23 +02:00
Bartosz Taudul
a9ce4f6454 Cosmetics. 2020-09-24 01:31:23 +02:00
Bartosz Taudul
a668b61320 Allow ignoring custom zone colors. 2020-09-21 02:04:13 +02:00
Bartosz Taudul
5490948567 Release 0.7.2. 2020-09-14 22:55:41 +02:00
Bartosz Taudul
05f0ffd0ed Add "reconnect" button to connection failure dialogs. 2020-09-12 15:52:21 +02:00
Bartosz Taudul
812f869669 Decouple zoom level from tracking last events. 2020-09-12 15:49:41 +02:00
Bartosz Taudul
75ae14cd04 Use in-place merge to sort symbol data. 2020-09-07 01:47:11 +02:00
Bartosz Taudul
4b97528604 Streamline "waiting for connection" dialog. 2020-09-06 13:54:22 +02:00
Bartosz Taudul
4ac0e7d955 Allow filtering sampling results by image name. 2020-08-21 14:23:23 +02:00
Bartosz Taudul
0f13a02062 Properly terminate symbol inline location data.
Previously there was no end value on which iteration would stop in case of
the last-in-the-process-space symbol, which resulted in out-of-bounds read.

Workaround has been added for versions < 0.7.2, but no version bump has been
performed (still at 0.7.1). Having two terminator values at the end of the
list is harmless.
2020-08-20 18:50:20 +02:00
Bartosz Taudul
7cf3b0b004 Workaround issues with sample order. 2020-08-18 21:53:52 +02:00
Bartosz Taudul
5239b706c3 Allow disabling code transfer. 2020-08-16 01:31:54 +02:00
Bartosz Taudul
28af5230d3 Perform OpenGL texture cleanup only on main thread. 2020-08-15 15:02:36 +02:00
Bartosz Taudul
a3d8b5d225 Allow running specific tasks on main thread. 2020-08-15 14:59:16 +02:00
Bartosz Taudul
caa1b1a792 Fix initialization list order. 2020-08-15 02:26:35 +02:00
Bartosz Taudul
f828fed015 Remove unused variables. 2020-08-15 02:23:04 +02:00
Bartosz Taudul
be0e3b9cc4 Silence memcpy/memset warnings. 2020-08-15 02:14:29 +02:00
Bartosz Taudul
833653ce40 Display time stamp when hovering mouse over time scale. 2020-08-14 13:28:34 +02:00
Bartosz Taudul
5e559322a0 Properly check if symbol code is available. 2020-08-14 12:38:56 +02:00
Bartosz Taudul
16eef3f966 Clamp frame image textures to edge. 2020-08-13 18:16:10 +02:00
Bartosz Taudul
321c079205 Fix typo. 2020-08-13 16:56:56 +02:00
Bartosz Taudul
fa7d515165 Display base symbol address in symbol view window. 2020-08-13 16:36:13 +02:00
Bartosz Taudul
b6feb99e98 Show which symbols are available. 2020-08-13 16:24:09 +02:00
Bartosz Taudul
b6d54281a9 Ignore unknown source lines during ip stats gathering. 2020-08-13 00:34:55 +02:00
Bartosz Taudul
8e9a701277 Fix crash when trying to open unavailable source file. 2020-08-12 19:05:16 +02:00
Bartosz Taudul
8cfc614047 Include time range limits in symbol view functions list. 2020-08-11 21:07:23 +02:00
Bartosz Taudul
46163a1989 Implement asm ip stats counter. 2020-08-11 21:07:23 +02:00
Bartosz Taudul
7aa8e408df Remove unused variable. 2020-08-11 16:02:07 +02:00
Bartosz Taudul
34fa99c7ee Restrict sample statistics percentages to time range limit. 2020-08-11 15:50:54 +02:00
Bartosz Taudul
b9a810827d Make instrumented statistics percentages relative to time range. 2020-08-11 15:38:55 +02:00
Bartosz Taudul
6feb017cbe Also display statistics time range if symbol view is open. 2020-08-10 19:03:32 +02:00
Bartosz Taudul
b9b39f1957 Allow checking if source view is symbol view. 2020-08-10 19:03:23 +02:00
Bartosz Taudul
5dd7c7e402 Add time range limiting to symbol view. 2020-08-10 18:58:33 +02:00
Bartosz Taudul
7a4ecc5417 Store instruction pointers in per-symbol sample data. 2020-08-10 14:52:51 +02:00
Bartosz Taudul
85f54499fe Add range limit UI to symbol view. 2020-08-10 12:11:07 +02:00
Bartosz Taudul
339ed7cc4d Fix tooltip stroboscope. 2020-08-09 21:40:06 +02:00
Bartosz Taudul
06ac6f4f24 Build per-symbol samples list during live capture. 2020-08-09 21:04:03 +02:00
Bartosz Taudul
3be0a3f628 Vector is not empty here. 2020-08-09 20:46:44 +02:00
Bartosz Taudul
1650d371e6 Actually set self time option, if required. 2020-08-07 19:43:31 +02:00
Bartosz Taudul
d6aa814de5 Use time limited data for inline stats. 2020-08-07 19:42:18 +02:00
Bartosz Taudul
d151aff237 Allow time limiting sampled call stacks statistics. 2020-08-07 19:26:19 +02:00
Bartosz Taudul
b418c98e63 Add symbol samples accessor. 2020-08-07 19:14:21 +02:00
Bartosz Taudul
aa8b60a824 Calculate per-symbol sample time list.
This is for loaded traces. Real time capture will be implemented later.
2020-08-07 19:05:27 +02:00
Bartosz Taudul
87e7cba289 Disable samples limit range until background job is done. 2020-08-07 14:54:00 +02:00
Simon van Bernem
d06617b2a5 Fixed variable name 2020-08-07 10:55:00 +02:00
Simon van Bernem
4e1ed15237 More matching code-style 2020-08-07 10:45:52 +02:00
Simon van Bernem
ab85fba7e0 Matching the braketing style 2020-08-07 10:42:36 +02:00
Simon van Bernem
903b7badc0 next try 2020-08-07 10:39:22 +02:00
Simon van Bernem
e14bb56db1 matching spacing to remove change from original 2020-08-07 10:38:38 +02:00
Simon van Bernem
b826c14e4d reverted an unnecessary change 2020-08-07 10:37:19 +02:00
Simon van Bernem
3dd80c5288 DrawStripedRect can now draw screen-space stripes
Added two parameters to DrawStripedRect: fix_stripes_in_screen_space aligns the stripes to screen space. This leads to the stripes of any stripe rect being drawn aligning. Also added inverted, which flips the empty and filled part of the striped rect. This is used to make statRange and findZone stripes interleave, when they overlap.
2020-08-07 10:24:13 +02:00
Bartosz Taudul
550e05d149 Fix time range limits created by reverse-mouse-drag. 2020-08-07 00:24:22 +02:00
Bartosz Taudul
983aba7a0b Self time is forced for range limit in sampling stats. 2020-08-06 17:22:47 +02:00
Bartosz Taudul
0a0d04fff6 Add time range limits to instrumentation statistics. 2020-08-06 15:22:10 +02:00
Bartosz Taudul
b68423fc1a Fix copy pasta. 2020-08-06 15:22:10 +02:00
Bartosz Taudul
71440cc6ee Use custom data structure for temporary stats data. 2020-08-06 15:22:10 +02:00
Bartosz Taudul
251e8f1fe2 Fix vertical panning. 2020-08-05 17:20:19 +02:00
Bartosz Taudul
c4cf690e39 Display annotation extent on annotations list. 2020-08-04 17:31:33 +02:00
Bartosz Taudul
05c60259b6 Display exact time for annotation begin, end. 2020-08-04 17:26:00 +02:00
Bartosz Taudul
22e86af4ab Remove redundant tooltip. 2020-08-04 17:24:59 +02:00
Bartosz Taudul
a5c16a39ba Make annotations resizable. 2020-08-04 17:23:12 +02:00
Bartosz Taudul
f589fba274 Use Range for annotation extent. 2020-08-04 17:14:58 +02:00
Bartosz Taudul
2acc1d9670 Move Range, RangeSlim out of View. 2020-08-04 17:09:17 +02:00
Bartosz Taudul
68e452802b Allow performing range copies from one to another. 2020-08-04 17:06:24 +02:00
Bartosz Taudul
85e8a6a81c Add icons to range limits window entries. 2020-08-04 17:06:24 +02:00
Bartosz Taudul
67e86d2b27 Add context menus to ghost zones. 2020-08-04 17:06:24 +02:00
Bartosz Taudul
bd51add4f1 Display zone range popup area. 2020-08-04 17:06:24 +02:00
Bartosz Taudul
321fa06a3d Merge adding annotations and setting range limits. 2020-08-04 16:40:35 +02:00
Bartosz Taudul
79fc917483 Hook-up statistics time range logic. 2020-08-04 14:31:53 +02:00
Bartosz Taudul
7fe1560ca5 Change find zone limit range color to green. 2020-08-04 14:23:37 +02:00
Bartosz Taudul
1e526cfc09 Extract range entry drawing. 2020-08-04 14:20:35 +02:00
Bartosz Taudul
9449f3ef89 Add time range limit UI to statistics menu. 2020-08-04 14:15:28 +02:00
Bartosz Taudul
a23f58cc8f Add spacing in find zone menu. 2020-08-04 14:13:12 +02:00
Bartosz Taudul
ed01a3e4e0 Extract common filtering UI logic. 2020-08-04 14:09:59 +02:00
Bartosz Taudul
21589a238b Reduce size of statistics menu controls. 2020-08-04 14:06:32 +02:00
Bartosz Taudul
2f94b44a6c Move filter UI to a separate line in statistics menu. 2020-08-03 17:08:47 +02:00
Bartosz Taudul
9b1573d803 Add limits button to find zone menu. 2020-08-03 16:07:38 +02:00
Bartosz Taudul
02aae23a98 Move limits button to tools submenu. 2020-08-03 16:07:28 +02:00
Bartosz Taudul
498781b5bf Clear potential click after mouse button is released. 2020-08-01 13:01:04 +02:00
Bartosz Taudul
734b0c25d9 Fix typo. 2020-08-01 12:55:49 +02:00
Bartosz Taudul
7d34350bf3 Drag delta (accumulated) shouldn't be consumed. 2020-08-01 12:36:52 +02:00
Bartosz Taudul
b33445c073 Open context menus without ctrl key. 2020-08-01 12:35:30 +02:00
Bartosz Taudul
b4021d7d79 Add mouse click vs drag logic. 2020-08-01 12:35:15 +02:00
Bartosz Taudul
4da8385300 Range overlay resize has priority over other mouse interactions. 2020-08-01 12:11:06 +02:00
Bartosz Taudul
22651eccc5 Implement consumption of mouse events. 2020-08-01 12:10:59 +02:00
Bartosz Taudul
6d0d12ce78 Remove unneeded parameter. 2020-08-01 12:03:11 +02:00
Bartosz Taudul
6836014caa Capture ImGui mouse state. 2020-08-01 12:02:11 +02:00
Bartosz Taudul
39197b9ff8 Use mouse wrappers. 2020-08-01 11:53:11 +02:00
Bartosz Taudul
733b9c4048 Add wrapper for ImGui mouse handling. 2020-08-01 11:49:43 +02:00
Bartosz Taudul
dbcc908dee Fix initialization. 2020-07-31 18:10:03 +02:00
Bartosz Taudul
19246a027f Allow limiting find zone time range to zone extent. 2020-07-31 18:01:07 +02:00
Bartosz Taudul
efc9c7c58f Add color key for find zone time range. 2020-07-31 17:57:54 +02:00
Bartosz Taudul
65e00eb2d4 Show time limit overlay if range window is open. 2020-07-31 17:54:46 +02:00
Bartosz Taudul
2bce9319d0 Allow focusing to find zone time range. 2020-07-31 17:51:47 +02:00
Bartosz Taudul
1215eb4de5 Allow limiting find zone time range to a frame. 2020-07-31 17:50:12 +02:00
Bartosz Taudul
8091207d26 Add time limit ranges window. 2020-07-31 16:37:47 +02:00
Bartosz Taudul
9633617810 Don't change time range limit when enabling it. 2020-07-31 16:19:35 +02:00
Bartosz Taudul
0d2914bbe8 Display thumbnail of current frame image in connection popup. 2020-07-30 01:58:08 +02:00
Bartosz Taudul
f367b16dc0 Add missing operator. 2020-07-29 19:13:10 +02:00
Bartosz Taudul
7f90a0a84e Proper test for hovering mouse over the timeline. 2020-07-29 19:03:54 +02:00
Bartosz Taudul
e406ce5aab Fix typo. 2020-07-29 19:00:37 +02:00
Bartosz Taudul
5aff4b0f50 Set proper mouse cursor on range boundaries. 2020-07-29 18:54:10 +02:00
Bartosz Taudul
58428e7ede Dynamically adapt find zone results to range limit. 2020-07-29 18:48:49 +02:00
Bartosz Taudul
c1bf853310 Drag range boundary to change its span. 2020-07-29 18:42:53 +02:00
Bartosz Taudul
2f5f2e5b1d Add range boundary highlight. 2020-07-29 18:42:52 +02:00
Bartosz Taudul
ff5daf9df7 Proper handling of mouse over timeline view.
This fixes:
- Dead zones between header, frame sets and the rest of timeline
  display.
- One-frame frame set position lag when panning the view with mouse over
  zones region of timeline.
2020-07-29 17:52:51 +02:00
Bartosz Taudul
f37a324a9e Add annotation removal button hint. 2020-07-29 17:07:40 +02:00
Bartosz Taudul
29fe5f211f Warn when range limiting is enabled. 2020-07-29 15:45:50 +02:00
Bartosz Taudul
3e3f8aaabf Enable linear filtering for frame images. 2020-07-29 13:31:26 +02:00
Bartosz Taudul
25ee7f945b Draw limit region with striped rect. 2020-07-29 13:26:47 +02:00
Bartosz Taudul
d8728be689 Striped rect drawing. 2020-07-29 13:18:23 +02:00
Bartosz Taudul
fd5ccc16d6 Extract find zone range data to a separate struct. 2020-07-28 15:12:45 +02:00
Bartosz Taudul
7e6a41e647 No need for lean alloc srcloc zone begin messages. 2020-07-26 14:35:04 +02:00
Bartosz Taudul
062bb3044f No need for lean callstack sample message. 2020-07-26 14:28:13 +02:00
Bartosz Taudul
4252cac654 No need for lean callstack alloc message. 2020-07-26 14:25:32 +02:00
Bartosz Taudul
18713de70c No need for lean frame image message. 2020-07-26 14:23:04 +02:00
Bartosz Taudul
b76726c597 No need for lean callstack, callstack memory messages. 2020-07-26 14:23:03 +02:00
Bartosz Taudul
14a15bf152 Order of lock events is now always well-defined. 2020-07-26 13:54:40 +02:00
Bartosz Taudul
03f46d7228 Custom string data is no longer needed. 2020-07-26 01:47:49 +02:00
Bartosz Taudul
c0b73c248f Add second single string transfer. 2020-07-26 01:47:49 +02:00
Bartosz Taudul
a7d2ab4d4f Send single string for lock name. 2020-07-26 01:47:49 +02:00
Bartosz Taudul
e91950f006 Send single string for messages. 2020-07-26 01:35:52 +02:00
Bartosz Taudul
5553761c02 Send single string for zone text and name. 2020-07-26 01:35:52 +02:00
Bartosz Taudul
309a151610 Symbol length no longer has to be packed. 2020-07-26 01:35:52 +02:00
Bartosz Taudul
88685440b6 Send single string for callstack frame. 2020-07-26 01:35:52 +02:00
Bartosz Taudul
61e3acde06 Send single string for callstack frame size. 2020-07-26 01:35:52 +02:00
Bartosz Taudul
e3dfa96055 Extract single string idx retrieval. 2020-07-26 01:35:52 +02:00
Bartosz Taudul
06ca4e2d16 Send single string for symbol information. 2020-07-26 01:35:52 +02:00
Bartosz Taudul
14b180cd16 Send single string for code information. 2020-07-26 01:35:51 +02:00
Bartosz Taudul
81d5a8db5e Implement transport of single string data.
In most cases only one string is sent per message and no pointer
tracking is needed.

This is only plumbing work, no changes to messages have been made yet.
2020-07-26 01:35:51 +02:00
Bartosz Taudul
6fe3736a23 When selecting function in symbol view, go to function location. 2020-07-19 23:43:52 +02:00
Bartosz Taudul
0704ab8f79 Clear frame image back references when removing fi data. 2020-07-17 22:16:47 +02:00
Bartosz Taudul
d614dbeda3 Show image name next to symbol name. 2020-07-14 17:23:04 +02:00
Bartosz Taudul
1da51918b6 Append new messages to visible message list. 2020-07-13 02:03:00 +02:00
Bartosz Taudul
420bdd5854 Don't recalculate message list every frame. 2020-07-12 15:26:05 +02:00
Bartosz Taudul
29ac0169aa Use clipper to display messages list. 2020-07-12 15:13:03 +02:00
Bartosz Taudul
333e10c724 Move message line drawing to a separate function. 2020-07-12 15:07:43 +02:00
Bartosz Taudul
f2d6c79742 Don't wrap messages. 2020-07-12 15:00:56 +02:00
Bartosz Taudul
953df69b77 Build a list of messages to display. 2020-07-12 14:54:22 +02:00
Bartosz Taudul
863f37e1bc Remove dedicated "go to frame" button. 2020-07-12 00:18:44 +02:00
Bartosz Taudul
a7a36c08cb Fix frame number formatting. 2020-07-12 00:04:05 +02:00
Bartosz Taudul
39debea990 Middle-click on time span sets the view range to entire capture. 2020-07-11 14:11:13 +02:00
Bartosz Taudul
0f9597aee8 Display frame number, if there's space for it. 2020-07-11 14:05:08 +02:00
Bartosz Taudul
e48b5611c5 Save GPU context calibration state. 2020-07-07 21:25:35 +02:00
Bartosz Taudul
a3c51f0e7e Don't show drift adjustment for calibrated GPU contexts. 2020-07-07 21:25:35 +02:00
Bartosz Taudul
21f4981f38 Process GPU calibration on server. 2020-07-07 21:25:35 +02:00
Bartosz Taudul
1b6bc1b69a Send Vulkan GPU calibration messages. 2020-07-07 21:25:35 +02:00
Bartosz Taudul
1013ec8db7 Drop accuracy bits from GPU context. 2020-07-07 01:21:36 +02:00
Bartosz Taudul
384e2e3fa1 Reduce memory requirements of allocated call stacks. 2020-07-05 17:33:29 +02:00
Bartosz Taudul
6fe90e136f Bump xxh3 to fix AVX512 problems. 2020-07-05 11:29:06 +02:00
Bartosz Taudul
925bf7e638 Implement grouping zones by zone name. 2020-07-04 12:36:04 +02:00
Bartosz Taudul
435fb4bb4f Add copy-to-clipboard buttons to zone info windows. 2020-07-04 11:59:25 +02:00
Bartosz Taudul
1bfd59c595 Add a wrapper function for drawing clipboard button. 2020-07-04 11:56:56 +02:00
Bartosz Taudul
763f5aafdd Attach pending frame images only to the main frame set. 2020-06-30 00:53:26 +02:00
Bartosz Taudul
afbd6b8786 Fix frame histogram when changing frame set in trace info window. 2020-06-27 21:51:50 +02:00
Bartosz Taudul
c7d94a66b0 Bump xxh3 to 0.7.4. 2020-06-27 17:01:31 +02:00
Bartosz Taudul
e9788cc04c Bump robin_hood to 3.7.0. 2020-06-26 00:51:03 +02:00
Dmitry Ivanov
9fa80c2cc8 Import chrome metrics 2020-06-21 13:45:41 +02:00
Bartosz Taudul
d1e17de7c2 Allow import of plots. 2020-06-20 15:30:06 +02:00
Bartosz Taudul
2b5e45cd9b Fix edge case in directory structure creation. 2020-06-19 17:17:26 +02:00
Bartosz Taudul
11e1671048 Use proper string formatting. 2020-06-18 01:32:53 +02:00
Bartosz Taudul
b0d71b648f Allow listing cached source files. 2020-06-17 18:26:23 +02:00
Bartosz Taudul
c507507233 Fix gcc/clang. 2020-06-16 20:14:59 +02:00
Bartosz Taudul
47dfddedfd Use tzcnt instead of bsf. 2020-06-16 18:19:05 +02:00
Bartosz Taudul
7a6141389c Replace floating point condition with a bool. 2020-06-16 01:46:26 +02:00
Bartosz Taudul
dd05c8f524 Fix fixup of ghost zones end times. 2020-06-15 17:41:00 +02:00
Bartosz Taudul
71359c46c1 Drop support for loading pre-0.6.0 traces. 2020-06-14 15:52:52 +02:00
Bartosz Taudul
21ddd0a820 Postpone initialization of hashmaps. 2020-06-12 11:26:44 +02:00
Bartosz Taudul
cbcf393332 Release 0.7.0. 2020-06-11 14:30:34 +02:00
Bartosz Taudul
3992eb0542 Move RDO threshold logic to tables. 2020-06-11 14:09:19 +02:00
Bartosz Taudul
2ab605d232 Use dedicated max-of-three-elements function. 2020-06-11 13:45:04 +02:00
Bartosz Taudul
2608ceca05 Improve memory access patterns in RDO compression. 2020-06-11 13:36:17 +02:00
Bartosz Taudul
2723144678 Don't create empty ghost children vectors. 2020-06-11 12:27:17 +02:00
Bartosz Taudul
99544f4655 Clamp previous ghost zones to current sample time. 2020-06-11 12:18:44 +02:00
Bartosz Taudul
191ff93822 Optimize DXT1 index order fixing. 2020-06-11 03:04:09 +02:00
Bartosz Taudul
d1ef8ea90b Set owner of file dialogs on windows. 2020-06-10 01:52:17 +02:00
Bartosz Taudul
e932cbe162 Add missing OpenCL mentions. 2020-06-09 18:17:43 +02:00
Bartosz Taudul
8bbc40beb2 Bump version, protocol for D3D12. 2020-06-09 11:20:50 +02:00
Andrew Depke
39479b8d93
Merge branch 'master' into master 2020-06-08 23:50:20 -06:00
Bartosz Taudul
929d399995 Fix determination of line width. 2020-06-08 14:02:11 +02:00
Andrew Depke
3282a8d27c Added server support for D3D12 contexts 2020-06-07 00:40:08 -06:00
Bartosz Taudul
c384ec132f Fix position of source separator line. 2020-06-06 20:50:24 +02:00
Bartosz Taudul
9c49ee3dd3 Don't mark windows as write-modified when only reading data. 2020-06-06 20:46:46 +02:00
Bartosz Taudul
d35d9b60ff Bump protocol and version for OpenCL support. 2020-06-06 14:57:48 +02:00
Bartosz Taudul
57f1ef05c7
Merge pull request #31 from mcleary/opencl-support
Add OpenCL trace support
2020-06-06 14:56:29 +02:00
Bartosz Taudul
ecfeb01aad Set source view content width to max value, regardless of clipping. 2020-06-06 12:37:05 +02:00
Bartosz Taudul
a3a7183293 Disable inclusion of non-windows in ctrl-tab list. 2020-06-05 19:23:27 +02:00
Bartosz Taudul
16b116ee83 Enable horizontal scrollbar in source view. 2020-06-05 19:04:12 +02:00
Thales Sabino
a46f83364e Add OpenCL trace support
- Adds the file TracyOpenCL.hpp which contains the API to annotate OpenCL applications
- It works in a similar fashion to the Vulkan annotations
- Adds an example OpenCL application in examples/OpenCLVectorAdd
- Adds "OpenCL Context" to the UI
- Manual entry for annotating OpenCL zones
2020-06-05 10:15:47 +01:00
Bartosz Taudul
71d789063e Show only relevant options in asm view. 2020-06-04 19:59:13 +02:00
Bartosz Taudul
3fbc2c8036 Increase buffer size. 2020-06-04 19:54:11 +02:00
Bartosz Taudul
e19a981b8c Fix display of unknown source locations in asm view. 2020-06-04 19:39:43 +02:00
Bartosz Taudul
ce2e01bcd7 Skip processing uarch data if AT&T mode is enabled. 2020-06-04 19:30:44 +02:00
Bartosz Taudul
adc2c12a67 Clear asm data when opening just source view. 2020-06-04 19:20:24 +02:00
Bartosz Taudul
c52936855e Don't read beyond buffer end. 2020-06-04 02:46:46 +02:00
Bartosz Taudul
917da8cff3 Properly terminate combo table. 2020-06-04 02:41:45 +02:00
Bartosz Taudul
f227bb4d9c Update instruction tables to "may 2020". 2020-06-03 21:17:52 +02:00
Bartosz Taudul
9e500bc897 Handle merging inlined ghost zones. 2020-05-31 21:47:52 +02:00
Bartosz Taudul
994b88f898 Ghost index is only available is statistics are enabled. 2020-05-31 15:24:11 +02:00
Bartosz Taudul
067189c355 Extract ghost zone adding to a separate function. 2020-05-31 14:51:33 +02:00
Bartosz Taudul
d9e97ce772 Add postponed ghost zones when frame data becomes available. 2020-05-31 14:31:39 +02:00
Bartosz Taudul
1154343a20 Don't add ghost zones if full callstack data isn't available. 2020-05-31 14:17:54 +02:00
Bartosz Taudul
de5f8df9d3 UpdateSampleStatistics() returns if all samples were processed.
This effectively is a check if all frames in a callstack are available.
2020-05-31 14:05:16 +02:00
Bartosz Taudul
7ce915c4f6 Allow display of symbol address in statistics view. 2020-05-30 15:39:34 +02:00
Bartosz Taudul
5955efabb0 Use combo box for smart/entry/sample location selection. 2020-05-30 15:39:34 +02:00
jmanc3
e22ece8e79 Added support for horizontal scrolling. 2020-05-27 21:11:49 -05:00
Bartosz Taudul
54a029356d Explicitly store GPU context type. 2020-05-27 18:16:53 +02:00
Bartosz Taudul
4f3934ae6a Use correct symbol address. 2020-05-26 02:08:30 +02:00
Bartosz Taudul
898a10ef82 Display base function is symbol as '[ - self - ]'. 2020-05-25 21:42:01 +02:00
Bartosz Taudul
bdba77c0f5 Allow displaying self zone time in frames overview. 2020-05-25 01:15:06 +02:00
Bartosz Taudul
74a79a6921 Add zone child time getter with clamping to time range. 2020-05-25 01:14:44 +02:00
Bartosz Taudul
7ceb4005cd Don't use alloca in inlined functions inside a loop. 2020-05-24 16:17:54 +02:00
Bartosz Taudul
2b304581cf Implement transfer of integral values for zones. 2020-05-24 16:13:09 +02:00
Bartosz Taudul
45a9878193 Don't depend on zero-termination of source code. 2020-05-23 17:07:23 +02:00
Bartosz Taudul
d3b60f913d Extend "first frame" time. 2020-05-23 16:52:58 +02:00
Bartosz Taudul
0b900c0a3c Add crash popup. 2020-05-23 16:40:15 +02:00
Bartosz Taudul
18b2e3e5be Don't depend on View in Worker. 2020-05-23 15:53:58 +02:00
Bartosz Taudul
2f35c785ee Save/load cached source files. 2020-05-23 15:44:19 +02:00
Bartosz Taudul
5b96809f6f Add notification when source file is loaded from cache. 2020-05-23 15:44:19 +02:00
Bartosz Taudul
dc0f2db3f2 CheckString() doesn't check if string query is still pending. 2020-05-23 15:44:19 +02:00
Bartosz Taudul
ee22cf3b0c Use cached source files. 2020-05-23 15:44:19 +02:00
Bartosz Taudul
d470202bca Cached source files accessor. 2020-05-23 15:44:19 +02:00
Bartosz Taudul
964d65fd3b Cache callstack/symbol/code source files. 2020-05-23 15:44:19 +02:00
Bartosz Taudul
f7341141cf Cache zone source location source files. 2020-05-23 15:44:19 +02:00
Bartosz Taudul
97a5957adc Display source file cache stats. 2020-05-23 15:44:19 +02:00
Bartosz Taudul
ae1155852a Source file cache plumbing. 2020-05-23 15:44:18 +02:00
Bartosz Taudul
f38464cf55 Rename SymbolCodeData to MemoryBlock. 2020-05-23 14:54:16 +02:00
Bartosz Taudul
d052e4c79d Substitution-less source file validator. 2020-05-23 14:54:16 +02:00
Bartosz Taudul
fa2559b3f0 Add StringRef hasher, comparator. 2020-05-23 14:54:16 +02:00
Bartosz Taudul
670a292416 Report whether string is available, or if a query was dispatched. 2020-05-23 13:08:57 +02:00
Bartosz Taudul
619523b43e Symbol might not have ip statistics. 2020-05-21 19:20:20 +02:00
Bartosz Taudul
e9c13b254b Get exclusive samples count for a proper symbol.
If inlines are grouped under a base symbol, the base symbol data
includes all the inline sample counts. This was interfering with control
logic determining if sample parents window can be displayed.
2020-05-19 19:10:40 +02:00
Bartosz Taudul
e376866436 Check for exclusive samples in inlined symbols list. 2020-05-19 19:06:01 +02:00
Bartosz Taudul
883264c0df Fix typo. 2020-05-18 18:25:49 +02:00
Bartosz Taudul
f9ff6f4161 Clamping is not needed. 2020-05-15 02:30:52 +02:00
Bartosz Taudul
f6663b187a Add ghost zone label to ghost zone tooltips. 2020-05-15 02:27:48 +02:00
Bartosz Taudul
ad3cac8578 Incorporate thread colors in ghost zones. 2020-05-15 02:25:28 +02:00
Bartosz Taudul
23de7cb294 Improve source file tooltip. 2020-05-15 01:39:14 +02:00
Bartosz Taudul
03c3a3e7c7 Select proper operand for LEA processing in AT&T mode. 2020-05-15 01:37:08 +02:00
Bartosz Taudul
992fba7e07 Move profiler FPS display to upper-right corner. 2020-05-14 17:53:46 +02:00
Bartosz Taudul
ba9b35dc3b Don't memcpy to nullptr. 2020-05-14 17:38:48 +02:00
Bartosz Taudul
c8ff8540f9 Sleep when connection attempt fails. 2020-05-14 02:27:57 +02:00
Bartosz Taudul
7ea9c4baf2 Proper locking for queue/in-flight queries. 2020-05-13 18:52:20 +02:00
Bartosz Taudul
7d57a2ea6d Cast to correct type. 2020-05-13 18:38:40 +02:00
Bartosz Taudul
3f3378e13a Fix typo. 2020-05-13 18:37:37 +02:00
Bartosz Taudul
8e11cd5ebb Add support for custom text in ImportEventTimeline. 2020-05-12 11:44:36 +02:00
Bartosz Taudul
1c8aece53c No saving if there's no file selector. 2020-05-11 22:13:07 +02:00
Bartosz Taudul
e330b96b3d Allow saving only lines within jump range. 2020-05-11 21:59:45 +02:00
Bartosz Taudul
0790e92cad Support saving asm range. 2020-05-11 21:12:43 +02:00
Bartosz Taudul
9d5d116014 Extract asm saving to a separate function. 2020-05-11 21:08:50 +02:00
Dmitry Ivanov
8f509dd41a
Make TracySourceView.cpp build with somewhat old clang
This was the only issue preventing build on macOS High Sierra with whatever version of clang it has.
2020-05-11 16:23:50 +02:00
Bartosz Taudul
dafecf2a19 Allow enumerating asm lines from a given base instruction. 2020-05-11 13:35:49 +02:00
Bartosz Taudul
8a7913c095 Update xxh3 to master @ ea9c098e93. 2020-05-11 02:33:12 +02:00
Bartosz Taudul
e9f93f5bc7 Send lean frame images. 2020-05-10 20:16:08 +02:00
Bartosz Taudul
03b5dfacd6 Send lean callstack samples. 2020-05-10 20:00:51 +02:00
Bartosz Taudul
09388f3c99 Send lean callstack allocs. 2020-05-10 19:56:36 +02:00
Bartosz Taudul
5a774c82cc Send lean callstacks. 2020-05-10 19:43:12 +02:00
Bartosz Taudul
f0ade07be8 Send lean memory callstacks. 2020-05-10 19:28:08 +02:00
Bartosz Taudul
2dc07fca0b Send lean allocated source locations. 2020-05-10 19:20:59 +02:00
Bartosz Taudul
50c66174dd Add ability to show callstack to an asm line. 2020-05-10 16:56:38 +02:00
Bartosz Taudul
2f8e817e16 Make PackPointer() part of worker's interface. 2020-05-10 16:56:13 +02:00
Bartosz Taudul
d84495d0e1 Mark inline symbols. 2020-05-10 16:13:19 +02:00
Bartosz Taudul
fdd50840a7 Add a function for showing sample parents. 2020-05-10 16:07:45 +02:00
Bartosz Taudul
dee808dd1b Display jump labels in the UI. 2020-05-09 15:14:33 +02:00
Bartosz Taudul
2543bb5e63 Shorter jump labels. 2020-05-09 15:14:25 +02:00
Bartosz Taudul
0de39a1d33 Construct location table during disassembly. 2020-05-09 14:58:06 +02:00
Bartosz Taudul
8cbd209ede Display number of selected lines. 2020-05-09 13:53:11 +02:00
Bartosz Taudul
8caf6b02c6 Allow switching between Intel and AT&T assembly syntax. 2020-05-09 12:58:09 +02:00
Bartosz Taudul
ad4387a0c0 Implement saving disassembly to a file. 2020-05-09 02:37:18 +02:00
Bartosz Taudul
8b56dd5468 Prevent division by zero. 2020-05-08 01:55:03 +02:00
Bartosz Taudul
70818b49b9 Force connection popup boolean should decay. 2020-05-08 01:49:15 +02:00
Bartosz Taudul
5b29e65bc5 Initial value of DecayValue might be active. 2020-05-08 01:48:37 +02:00
Bartosz Taudul
2da6c6b6f5 Fix enforced connection popup position wrt viewports. 2020-05-07 15:27:11 +02:00
Bartosz Taudul
2ca6b6f2fe Implement display of grouped instruction pointer statistics. 2020-05-07 02:33:37 +02:00
Bartosz Taudul
15454d2253 Select microarchitecture basing on cpuid. 2020-05-07 00:53:31 +02:00
Bartosz Taudul
eab3adfa1d Display CPU info. 2020-05-06 19:18:17 +02:00
Bartosz Taudul
6fda74e281 Save/load cpu id. 2020-05-06 19:18:17 +02:00
Rokas Kupstys
e40f0c4f2e Fix MinGW build. 2020-05-05 13:23:46 +03:00
ikrima
1b5879e176 ImGui Multiviewport fixes
- set ImGuiConfigFlags_ViewportsEnable
- correct render loop logic with viewport api calls, SetNextWindowViewport(), UpdatePlatformWindows(), RenderPlatformWindowsDefault()
- Fix: coords in abs space now, SetNextWindowPos()

NOTE:
- I have viewports turned on by default so you can easy test (comment out io.ConfigFlags |= ImGuiConfigFlags_ViewportsEnable; and you get old behavior)
- Jankiness with multiviewports isn't bc perf hit; it's bc profiler reduces it's tick rate when it's not in focus. So, that bit of logic needs to be updated if you really care
- I haven't encountered any issues over past week but discount that by 50% since i'm new to tracy. No promises some UI wasn't regresssed
- Key things to watch out for is enabling viewports turns ImGui into using absolute monitor coords instead of window coords (ie SetPosition(0,0) => monitor top left, not window top/left
2020-05-04 02:17:15 -07:00
Bartosz Taudul
74e55f584c Small toggle button. 2020-05-03 20:49:21 +02:00
Bartosz Taudul
d99129f0e4 Move ToggleButton() out of TracyView.cpp. 2020-05-03 20:40:53 +02:00
Bartosz Taudul
88b2b04b0d Display running threads in CPU usage tooltip. 2020-05-03 14:34:22 +02:00
Bartosz Taudul
fb801fa484 Extract time value at mouse cursor to a variable. 2020-05-03 14:34:05 +02:00
Bartosz Taudul
9d94cdbb52 Parametrize color highlighting. 2020-05-03 14:33:47 +02:00
Bartosz Taudul
3aed0ba150 Unformatted colored text printing with uint32 color. 2020-05-03 14:33:11 +02:00
Bartosz Taudul
b69bf49082 Separate thread context data getter. 2020-05-03 14:21:27 +02:00
Bartosz Taudul
222d3d661e Change "go to frame" window to popup. 2020-05-03 13:54:37 +02:00
Bartosz Taudul
d4e490f47e Keep frames graph at the top of the window (not in dock space). 2020-05-03 13:30:05 +02:00
Bartosz Taudul
bb043f96ee Use internal NoTabBar flag for central node. 2020-05-03 13:29:51 +02:00
Bartosz Taudul
e3acb635a3 Tune up work area window padding. 2020-05-03 13:27:58 +02:00
Bartosz Taudul
32aa23822b Disable docking in central node. 2020-05-03 13:23:48 +02:00
Bartosz Taudul
3350a78cd8 Put work area in center docking node. 2020-05-03 13:23:26 +02:00
Bartosz Taudul
73fda0b188 Disable docking in the main window. 2020-05-03 13:21:34 +02:00
Bartosz Taudul
e7e3d1105c Register usage is only available in capstone 4.x. 2020-05-02 03:09:16 +02:00
Bartosz Taudul
2e75990b6c Fix wrong indent. 2020-05-02 02:34:15 +02:00
Bartosz Taudul
e132849fe2 Don't highlight lines with no dependencies. 2020-05-02 02:34:15 +02:00
Bartosz Taudul
95c9259193 Draw register dependency decorations on scroll bar. 2020-05-02 02:34:15 +02:00
Bartosz Taudul
50a5cce985 Reduce search range. 2020-05-02 02:34:15 +02:00
Bartosz Taudul
0fdb5e6592 Calculate register dependency data. 2020-05-02 02:34:15 +02:00
Bartosz Taudul
93f255e95b Invalidate asm line selection when disassembly is performed. 2020-05-02 02:34:15 +02:00
Bartosz Taudul
654dc2b901 Detect conditional jumps. 2020-05-02 02:34:15 +02:00
Bartosz Taudul
4390aa1015 Print register data in asm lines. 2020-05-01 22:39:54 +02:00
Bartosz Taudul
f4b06ed1fc Register line selection. 2020-05-01 20:35:09 +02:00
Bartosz Taudul
8b2b2f650f Add space for register data in each asm line. 2020-05-01 20:35:09 +02:00
Bartosz Taudul
bb4b08e8cf Don't display operands, if none. 2020-05-01 16:15:33 +02:00
Bartosz Taudul
47b8f052bd Include flags register. 2020-05-01 16:14:27 +02:00
Bartosz Taudul
611bfe49df Display list of read and write registers. 2020-05-01 13:20:19 +02:00
Bartosz Taudul
8014fce6e1 Store list of read and write registers for each asm instruction. 2020-05-01 13:01:47 +02:00
Bartosz Taudul
38116b88a5 Create x86 common register mapping table. 2020-05-01 13:01:47 +02:00
Bartosz Taudul
b74caae685 Handle ending a zone twice. 2020-04-30 19:05:13 +02:00
Bartosz Taudul
a40ba8f4e9 Switch query queue icon to satellite dish. 2020-04-30 18:41:08 +02:00
Bartosz Taudul
035bb2236d Always preserve order of queries. 2020-04-30 02:25:25 +02:00
Bartosz Taudul
8fa0a4dc9e Update mbps data block after terminating connection. 2020-04-29 02:36:38 +02:00
Bartosz Taudul
2175fa6701 Shorten labels. 2020-04-27 19:21:32 +02:00
Bartosz Taudul
83d6566020 Optional visualization of uarch latency. 2020-04-27 19:21:32 +02:00
Bartosz Taudul
d6e633edd0 Fix typo. 2020-04-27 16:10:43 +02:00
Bartosz Taudul
adc60bf394 Separate uarch data retrieval from tooltip display. 2020-04-27 15:31:32 +02:00
Bartosz Taudul
abd00e28b8 Hackish support for LEA variants. 2020-04-27 00:59:49 +02:00
Bartosz Taudul
70605fc8ed Workaround issues with operand width mismatch. 2020-04-27 00:59:49 +02:00
Bartosz Taudul
5da60b53d0 Add micro architecture tooltips. 2020-04-27 00:59:49 +02:00
Bartosz Taudul
800f740fd5 Add micro architecture data. 2020-04-27 00:59:49 +02:00
Bartosz Taudul
f43755625c Add uarch selection UI. 2020-04-26 15:00:40 +02:00
Bartosz Taudul
6266d482ae Be explicit about displaying machine code. 2020-04-26 14:51:58 +02:00
Bartosz Taudul
dba594a857 Store CPU architecture. 2020-04-26 14:23:16 +02:00
Bartosz Taudul
5ae2c415b7 Draw a line indicating zeroth column of source code. 2020-04-25 13:52:21 +02:00
Bartosz Taudul
6b831173e4 Don't display asm counts if no asm available. 2020-04-25 13:51:58 +02:00
Bartosz Taudul
78a56640c3 Open connection popup when a connection is established. 2020-04-25 13:14:27 +02:00
Bartosz Taudul
368caddd00 Separate coloring for types and special values. 2020-04-25 01:01:10 +02:00
Bartosz Taudul
51659ed123 Enable syntax highlighting. 2020-04-25 00:21:15 +02:00
Bartosz Taudul
21506386c4 Allow specification of end address in TextColoredUnformatted. 2020-04-25 00:21:15 +02:00
Bartosz Taudul
3e583b1373 Add C++ tokenizer. 2020-04-25 00:21:15 +02:00
Bartosz Taudul
c87c464f23 Use proper symbol address. 2020-04-24 16:16:53 +02:00
Bartosz Taudul
747f26ef74 Display used CPUs as range, if possible. 2020-04-24 02:02:16 +02:00
Bartosz Taudul
170aeea864 Remove CPU topology tooltip from zone info window. 2020-04-24 01:44:25 +02:00
Bartosz Taudul
9a77a59cb2 Display sample percentage columns only if there's data. 2020-04-24 00:49:38 +02:00
Bartosz Taudul
865593146a Fix skipping symbol code. 2020-04-19 23:34:34 +02:00
Bartosz Taudul
e48095062b Allow displaying machine code bytes in disassembly. 2020-04-19 16:07:24 +02:00
Bartosz Taudul
afb9bdce86 Store instruction lengths. 2020-04-19 16:07:24 +02:00
Bartosz Taudul
421f0895b7 Filter invalid jumps. 2020-04-19 16:07:24 +02:00
Bartosz Taudul
ea00efa857 Display disassembly failure notification. 2020-04-19 16:07:24 +02:00
Bartosz Taudul
b157d4c161 Detect disassembly failures. 2020-04-19 14:40:36 +02:00
Bartosz Taudul
c78e11872c Fix jump arrow mouse hover detection. 2020-04-19 14:28:59 +02:00
Bartosz Taudul
1f3b6d01ab Cosmetics. 2020-04-19 14:10:26 +02:00
Bartosz Taudul
91ad77d86a Save/load source substitutions. 2020-04-18 14:25:04 +02:00
Bartosz Taudul
7a6bc6f554 Substitute source file names in source view. 2020-04-17 19:28:39 +02:00
Bartosz Taudul
01d7fefe52 Perform source file name substitution. 2020-04-17 19:28:39 +02:00
Bartosz Taudul
47cfb4ae35 Expose source substitution interface. 2020-04-17 19:28:39 +02:00
Bartosz Taudul
5f22e35c26 Add UI for source location substitutions. 2020-04-17 19:28:39 +02:00
Bartosz Taudul
b937ad101f Fix handling of ImGui ID stack. 2020-04-17 19:28:39 +02:00
Bartosz Taudul
c79c052528 Display percentage numbers of sample composition times. 2020-04-17 19:28:38 +02:00
Bartosz Taudul
db9557fc84 Use separate texture compression context for saving traces. 2020-04-14 20:07:30 +02:00
Bartosz Taudul
c2dd3913d7 Cleanup context switch data. 2020-04-14 02:34:28 +02:00
Bartosz Taudul
9fc76990e1 Copy proper amount of memory. 2020-04-14 02:22:48 +02:00
Bartosz Taudul
366153a94f No signed left shifts. 2020-04-14 02:22:48 +02:00
Bartosz Taudul
c54dc10464 Cleanup zone children vectors. 2020-04-14 02:22:47 +02:00
Bartosz Taudul
55f582faaf Use correct print format specifier. 2020-04-14 02:22:47 +02:00
Bartosz Taudul
dd0fb49098 Fix typo. 2020-04-14 02:22:47 +02:00
Bartosz Taudul
b0a58d4664 Don't shift left negative values. 2020-04-14 02:22:47 +02:00
Bartosz Taudul
5233f8d4ad Mark source lines which generated assembly. 2020-04-13 17:47:41 +02:00
Bartosz Taudul
2d25e969e9 Fix time span indicators visual jitter. 2020-04-13 15:00:54 +02:00
Bartosz Taudul
a2c4f8c2d1 Prominently expose profiler memory usage. 2020-04-13 14:41:05 +02:00
Bartosz Taudul
b8647f968a Don't animate threads on first frame. 2020-04-12 23:41:18 +02:00
Bartosz Taudul
a074d18dfa Don't display source files, if none available. 2020-04-12 23:26:02 +02:00
Bartosz Taudul
5fd5091efd Fix handling of unknown symbols. 2020-04-12 23:18:38 +02:00
Bartosz Taudul
3398c969ac Disable scrollbar for source view window. 2020-04-12 17:11:51 +02:00
Bartosz Taudul
ef56c7fa7c Display source files time composition in selected function/symbol. 2020-04-12 17:08:58 +02:00
Bartosz Taudul
078014826b Fix detection of hovering over source lines. 2020-04-12 16:21:03 +02:00
Bartosz Taudul
0794cf56ff Sort inline functions list by time spent in function. 2020-04-12 16:13:39 +02:00
Bartosz Taudul
a0f7cb41c3 Merge building inline symbol list with stats collection. 2020-04-12 16:11:24 +02:00
Bartosz Taudul
de18dd46b6 Don't build inline symbols list, if not needed. 2020-04-12 16:05:49 +02:00
Bartosz Taudul
633902cce5 Display inline functions time composition in symbol. 2020-04-12 16:05:01 +02:00
Bartosz Taudul
58cf97ef5d Display wall time in addition to sample counts. 2020-04-11 22:14:56 +02:00
Bartosz Taudul
c4bddf59e2 Allow access to sampling data before instrumentation is ready. 2020-04-11 18:21:46 +02:00
Bartosz Taudul
6c76c8098b Draw hotness markers next to sample percentage counts. 2020-04-11 01:59:15 +02:00
Bartosz Taudul
2c11418d33 Calculate max sample counts during ip map creation. 2020-04-11 01:34:44 +02:00
Bartosz Taudul
5bc01124c2 Draw jump range and target on scroll bar, when highlighted. 2020-04-10 23:31:25 +02:00
Bartosz Taudul
ca66dc9ba0 More code deduplication. 2020-04-10 23:13:51 +02:00
Bartosz Taudul
ac37898331 Go to white-hot color for ip count over max. 2020-04-10 23:10:26 +02:00
Bartosz Taudul
126a587aa3 Less code duplication. 2020-04-10 23:07:52 +02:00
Bartosz Taudul
61828070c5 Display tooltip for sample percentage. 2020-04-10 23:03:47 +02:00
Bartosz Taudul
895e06d778 Draw asm line hotness. 2020-04-10 17:27:57 +02:00
Bartosz Taudul
f6400880b0 Scroll bar decorations for asm lines. 2020-04-10 17:27:57 +02:00
Bartosz Taudul
bcfd32e49f Decorate source scroll bar with line hotness. 2020-04-10 17:27:57 +02:00
Bartosz Taudul
e51844eba3 Decorate source scroll bar with selected and highlighted line. 2020-04-10 16:56:56 +02:00
Bartosz Taudul
a6c0ac4273 Tighten assembly counts in source view. 2020-04-10 00:40:31 +02:00
Bartosz Taudul
14ec7ea6cd Tighten line numbers in source view. 2020-04-10 00:37:46 +02:00
Bartosz Taudul
497e73182a Ditto for source navigation. 2020-04-09 23:28:51 +02:00
Bartosz Taudul
072fed288a Use left and right mouse buttons for asm navigation.
Left click on source line just selects the line and the corresponding
asm lines.
Right click does the above and focuses asm view on the first selected
line.
2020-04-09 23:12:17 +02:00
Bartosz Taudul
47d56f6259 Proper scaling of instruction pointer counts. 2020-04-09 22:52:44 +02:00
Bartosz Taudul
f0c7a751c1 Context-sensitive auto-selection of stats mode in source view. 2020-04-09 22:37:49 +02:00
Bartosz Taudul
9d2c03bc5b Allow showing sample data for whole symbol. 2020-04-09 22:23:57 +02:00
Bartosz Taudul
a2385a8b24 Use correct address range. 2020-04-09 22:21:21 +02:00
Bartosz Taudul
0e1c9e2cd1 Highlight source line corresponding to hovered asm line. 2020-04-09 22:02:06 +02:00
Bartosz Taudul
0791871955 Highlight asm lines for hovered source line. 2020-04-09 21:57:28 +02:00
Bartosz Taudul
1e965edb54 Don't separate inlines by default. 2020-04-09 19:44:42 +02:00
Bartosz Taudul
a339d397ce Don't select addresses outside symbol. 2020-04-09 14:10:07 +02:00
Bartosz Taudul
241f59b59f Sprinkle some icons. 2020-04-09 02:33:02 +02:00
Bartosz Taudul
554366ad9f Search for address within current symbol. 2020-04-09 02:12:49 +02:00
Bartosz Taudul
d2ebc58be3 Set sensible combo box heights. 2020-04-09 02:09:54 +02:00
Bartosz Taudul
0f42dc2e4c Fix source-less sample count calculations. 2020-04-09 02:04:22 +02:00
Bartosz Taudul
3177865fc2 Follow jump by clicking on jump arrows. 2020-04-09 02:02:06 +02:00
Bartosz Taudul
a715df6338 Tighten assembly source location display. 2020-04-09 01:52:22 +02:00
Bartosz Taudul
6dd765c101 Tighten mnemonic display. 2020-04-09 01:45:38 +02:00
Bartosz Taudul
bae08c27c8 Tighter assembly address display. 2020-04-09 01:31:27 +02:00
Bartosz Taudul
643c0867ed Add jump arrows tooltip. 2020-04-09 01:09:57 +02:00
Bartosz Taudul
2cd789662b Handle source-less asm lines selection. 2020-04-08 23:59:21 +02:00
Bartosz Taudul
08c58fe8e3 Separate asm lines selection. 2020-04-08 23:59:10 +02:00
Bartosz Taudul
25346c7a55 Disable movement in source view sub-children. 2020-04-08 23:32:36 +02:00
Bartosz Taudul
450229f5e4 Only change assembly target line when necessary. 2020-04-08 23:30:42 +02:00
Bartosz Taudul
3a1f980a36 Prevent opening obsolete source files. 2020-04-08 23:07:59 +02:00
Bartosz Taudul
3e2260bdcb Add color boxes to file selection. 2020-04-08 23:06:38 +02:00
Bartosz Taudul
d300d17f9e Match source and assembly selection. 2020-04-08 22:57:42 +02:00
Bartosz Taudul
bb338a1c97 Symbol file selector. 2020-04-08 22:25:36 +02:00
Bartosz Taudul
a1bad4b7be Build list of symbol source files. 2020-04-08 22:18:00 +02:00
Bartosz Taudul
0551cd8e44 Switching between source files from asm view. 2020-04-08 22:10:58 +02:00
Bartosz Taudul
3f01d3bcb1 Selection of inlined function within symbol. 2020-04-08 22:04:33 +02:00
Bartosz Taudul
006919ec55 Mixed source/assembly symbol view. 2020-04-08 22:04:00 +02:00
Bartosz Taudul
b353e8752d Display inlined function stats within symbols. 2020-04-08 19:09:47 +02:00
Bartosz Taudul
b05625d444 Display count of inlined functions in symbols. 2020-04-08 17:17:45 +02:00
Bartosz Taudul
51d5ef5b4e Allow merging inlined function stats into base symbol. 2020-04-08 17:12:15 +02:00
Bartosz Taudul
02e1a7669c Add offset-less GetSymbolForAddress(). 2020-04-08 16:55:49 +02:00
Bartosz Taudul
a34cfacb5c Stabilize symbol sorting. 2020-04-08 15:55:34 +02:00
Bartosz Taudul
fe98921e4c Add UI for disabling inlines in sample statistics. 2020-04-08 15:52:53 +02:00
Bartosz Taudul
f59f4f266e Add inline symbols list accessor. 2020-04-08 15:34:14 +02:00
Bartosz Taudul
2a06f1545b Store count of proper and inline symbols in trace dump. 2020-04-08 12:52:06 +02:00
Bartosz Taudul
1da1d31e1c Store list of inline symbols. 2020-04-08 12:44:12 +02:00
Bartosz Taudul
a7fffe7e13 Separate opening source and symbol views. 2020-04-08 02:12:09 +02:00
Bartosz Taudul
09cf160088 Split source and symbol views in SourceView. 2020-04-08 01:58:23 +02:00
Bartosz Taudul
1c0ec60b23 Don't try to display assembly line counts if no symbol is selected. 2020-04-08 01:48:22 +02:00
Bartosz Taudul
2ad3f9b51f Index data is already available. 2020-04-05 15:09:13 +02:00
Bartosz Taudul
f1f4f48c38 Perform rate distortion optimization on frame images. 2020-04-05 15:04:18 +02:00
Bartosz Taudul
b19d5731ac Move DXT1 index fixup to texture compression class. 2020-04-05 14:05:43 +02:00
Bartosz Taudul
6d435e08c8 Handle nullptr in FindStringIdx. 2020-04-04 14:42:00 +02:00
Bartosz Taudul
38bfa7bdb6 Include return instructions in jump out list. 2020-04-04 14:30:48 +02:00
Bartosz Taudul
8c260c9d12 Draw jump outs from symbols. 2020-04-04 14:30:47 +02:00
Bartosz Taudul
268af5b67c Adapt to DPI scaling. 2020-04-04 14:30:47 +02:00
Bartosz Taudul
78a0773f38 Collect jumps outside symbol. 2020-04-04 13:51:55 +02:00
Bartosz Taudul
e02e595eec Align jump arrows to pixels. 2020-04-04 13:42:19 +02:00
Bartosz Taudul
aae161e31a Draw jumps in assembly view. 2020-04-04 03:41:10 +02:00
Bartosz Taudul
bda5c1d13e Ignore out-of-symbol jumps. 2020-04-04 03:13:21 +02:00
Bartosz Taudul
f2b044438d Don't print empty text, just advance cursor. 2020-04-04 02:45:01 +02:00
Bartosz Taudul
3711a66592 Calculate jump table. 2020-04-04 02:25:12 +02:00
Bartosz Taudul
b016d9e295 Going from source location to assembly line. 2020-04-02 13:10:18 +02:00
Bartosz Taudul
252e02ba2e One more place where server queue is handled. 2020-04-02 12:15:50 +02:00
Bartosz Taudul
700f189921 Wait for server query queue to drain before terminating. 2020-04-02 12:15:04 +02:00
Bartosz Taudul
562e675a0e Save/load code location data. 2020-04-02 12:12:10 +02:00
Bartosz Taudul
50d9932378 Display number of assembly instructions for each line. 2020-04-02 02:35:41 +02:00
Bartosz Taudul
2b8cf5d132 Add addressess accessor. 2020-04-02 02:17:22 +02:00
Bartosz Taudul
22e9135ab1 Retrieve file name string idx in source view. 2020-04-02 02:15:10 +02:00
Bartosz Taudul
16686739f6 Rebuild string map on trace load. 2020-04-02 02:15:00 +02:00
Bartosz Taudul
e7f4f58886 StringIdx search from string. 2020-04-02 02:08:00 +02:00
Bartosz Taudul
387fdb30b0 Map source location to assembly instructions. 2020-04-02 02:01:58 +02:00
Bartosz Taudul
9f0a6b8231 Make pdqsort always available. 2020-04-02 02:00:21 +02:00
Bartosz Taudul
d3c278cb02 Make source location display optional. 2020-04-02 01:37:56 +02:00
Bartosz Taudul
39cb9f4a32 Display source locations in assembly view. 2020-04-02 01:32:23 +02:00
Bartosz Taudul
b2c2bfc2aa Move HSV color conversion to a separate source file. 2020-04-02 01:04:59 +02:00
Bartosz Taudul
2303f18d39 Add guards to source view header. 2020-04-02 01:02:42 +02:00
Bartosz Taudul
59a49f0698 Jump from assembly to source line. 2020-04-02 00:53:27 +02:00
Bartosz Taudul
327e30fe7c Add source file location tooltip for assembly instructions.
This has bad UX, better solution is needed.
2020-04-02 00:39:17 +02:00
Bartosz Taudul
d204742bb8 Accessor for getting source file, line from address. 2020-04-02 00:31:53 +02:00
Bartosz Taudul
2dd5912fee Cosmetics. 2020-04-02 00:31:41 +02:00
Bartosz Taudul
6392e4d38d Display number of received code locations. 2020-04-02 00:00:46 +02:00
Bartosz Taudul
c8d1f4d3d6 Add code locations size accessor. 2020-04-01 22:38:47 +02:00
Bartosz Taudul
0ec89e9aae Store code address -> source file+line mapping. 2020-04-01 22:37:19 +02:00
Bartosz Taudul
b2a8b53efa Query source location of each assembly instruction. 2020-04-01 21:43:03 +02:00
Bartosz Taudul
9e8089ec1a Improve handling of query queue. 2020-04-01 21:05:25 +02:00
Bartosz Taudul
b6ce693ede Include inline parents when filtering sample statistics. 2020-04-01 13:24:32 +02:00
Bartosz Taudul
0f2095f84a Add missing break. 2020-04-01 13:10:26 +02:00
Bartosz Taudul
57779a8ed9 Cosmetics. 2020-03-31 20:44:44 +02:00
Bartosz Taudul
d08f3a6ea0 Check for samples, not ghost zones. 2020-03-31 02:20:34 +02:00
Bartosz Taudul
b957087456 Add "smart" symbol location to sampled statistics. 2020-03-30 23:58:42 +02:00
Bartosz Taudul
eb48d24182 Store context switch data for threads with ghost zones. 2020-03-30 23:41:21 +02:00
Bartosz Taudul
0ad24f6485 Display graphical representation of line percentage. 2020-03-30 22:49:06 +02:00
Bartosz Taudul
44096dfcf2 Move DrawTextContrast() to TracyImGui.hpp. 2020-03-30 22:39:34 +02:00
Bartosz Taudul
c1ed44bd35 Common percentage printing function. 2020-03-30 22:26:45 +02:00
Bartosz Taudul
11aedf2b27 Proper processing of symbol locations in live capture. 2020-03-30 17:10:59 +02:00
Bartosz Taudul
6fe5d0575f Add parent symbol for inlined symbols in sampled statistics. 2020-03-30 02:50:34 +02:00
Bartosz Taudul
17a5faa5e0 Display parent symbol for inline symbols in source view. 2020-03-30 02:46:29 +02:00
Bartosz Taudul
30771bf7cb Gather failure data before terminating connection. 2020-03-29 23:01:57 +02:00
Bartosz Taudul
48e4d33bea Support call stacks longer than 255 entries. 2020-03-28 18:04:33 +01:00
Bartosz Taudul
d43461584a Don't jump out to symbols without source and code. 2020-03-28 15:11:23 +01:00
Bartosz Taudul
2e1aa844fe Don't try to open invalid files. 2020-03-28 15:06:36 +01:00
Bartosz Taudul
78eb774822 Assembly addresses can be displayed relative to symbol. 2020-03-28 14:42:47 +01:00
Bartosz Taudul
9837e06816 Implement cross-symbol jumping. 2020-03-28 14:27:29 +01:00
Bartosz Taudul
013bb5a4f2 Use generic group categories. 2020-03-28 14:00:21 +01:00
Bartosz Taudul
86aad15e0c Display jump/call target address. 2020-03-28 01:36:51 +01:00
Bartosz Taudul
28db0f6227 Wait for data to be ready. 2020-03-28 01:17:35 +01:00
Bartosz Taudul
8dba099a56 Revert "Base address is not needed."
This reverts commit 058369bc7a.
2020-03-28 00:57:41 +01:00
Bartosz Taudul
22cae56ab1 Decode jump/call addresses. 2020-03-28 00:53:48 +01:00
Bartosz Taudul
fd3b9ca1e5 No need to format string. 2020-03-27 23:59:09 +01:00
Bartosz Taudul
17009b315f Remove unused variable. 2020-03-27 23:59:03 +01:00
Bartosz Taudul
86ca85f39d Initialize variable. 2020-03-27 23:58:49 +01:00
Bartosz Taudul
058369bc7a Base address is not needed. 2020-03-27 23:58:25 +01:00
Bartosz Taudul
5249eb4428 Fix init order. 2020-03-27 23:57:23 +01:00
Bartosz Taudul
5675044443 Display image name, if source file is unknown. 2020-03-27 21:54:40 +01:00
Bartosz Taudul
d065d28244 Allow assembly view in all calls to SetTextEditorFile. 2020-03-27 21:46:57 +01:00
Bartosz Taudul
78ea40d70c Check for asm/source availability in SetTextEditorFile. 2020-03-27 21:46:57 +01:00
Bartosz Taudul
efbf13fcd4 Don't store inlined symbols locations. 2020-03-27 21:16:23 +01:00
Bartosz Taudul
45b8622bc9 Search for base address when if symbol address is inlined. 2020-03-27 21:04:23 +01:00
Bartosz Taudul
31a1517d2f Display disassembly of inlined symbols. 2020-03-27 17:59:41 +01:00
Bartosz Taudul
720ed0460b Differentiate between symbol and base address. 2020-03-27 17:59:16 +01:00
Bartosz Taudul
992f4c8c2d Implement search for symbol base from address. 2020-03-27 17:39:42 +01:00
Bartosz Taudul
4c381e13e9 Store list of symbol locations. 2020-03-27 17:34:51 +01:00
Bartosz Taudul
52a853b26f Don't show invalid contents warning for disassembly. 2020-03-27 17:14:46 +01:00
Bartosz Taudul
a466362938 Use proper function to send terminate query. 2020-03-27 02:02:36 +01:00
Bartosz Taudul
51bae7855d Display number of in-flight queries. 2020-03-27 02:00:26 +01:00
Bartosz Taudul
089681267f Allow viewing assembly without corresponding source code. 2020-03-27 01:47:06 +01:00
Bartosz Taudul
10ca8b5440 Assembly display is not dependant on sample data. 2020-03-27 01:24:50 +01:00
Bartosz Taudul
2a54f2df5d Reverse the fileselector compile option. 2020-03-26 23:11:26 +01:00
Bartosz Taudul
d495431f24 Reverse the root window compile option. 2020-03-26 23:08:29 +01:00
Bartosz Taudul
58bb5d40c5 Remove support for non-extended font builds. 2020-03-26 23:04:44 +01:00
Bartosz Taudul
c098a03d8f Implement listing all symbols. 2020-03-26 22:39:16 +01:00
Bartosz Taudul
e58b9e870e Use explicit data structure to store symbol list data. 2020-03-26 22:39:16 +01:00
Bartosz Taudul
7018caadb9 Add UI for control of displaying all symbols. 2020-03-26 22:39:16 +01:00
Bartosz Taudul
696c351e6a Allow listing symbols, even if no sampling data has been gathered. 2020-03-26 22:39:16 +01:00
Bartosz Taudul
e6b0bfc90d Display "no entries" message in statistics menu, if appropriate. 2020-03-26 22:39:16 +01:00
Bartosz Taudul
ef96ecd9b8 Use shorter descriptions. 2020-03-26 22:09:56 +01:00