Commit Graph

2970 Commits

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