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