Commit Graph

3373 Commits

Author SHA1 Message Date
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