Justin Carpentier
8fc0dcfd48
[profiler] Add install target
2024-09-11 19:11:35 +02:00
Martijn Courteaux
46ec677702
Fix thread-sorting bug.
2024-09-11 10:44:34 +02:00
Bartosz Taudul
b687831394
Add protocol version for 0.11.1.
2024-09-10 20:47:32 +02:00
Bartosz Taudul
5632021003
Add missing GPU context name for Metal.
2024-09-10 19:13:35 +02:00
Bartosz Taudul
e8ff26e173
Merge pull request #793 from slomp/slomp/metal
...
Metal (Apple) GPU back-end for Tracy
2024-09-10 19:08:04 +02:00
Bartosz Taudul
49f0ca5339
Add missing function ptr prototypes.
2024-09-09 21:49:05 +02:00
Bartosz Taudul
d46eebf794
Trim address entry field.
...
Sometimes a stray whitespace may be inserted in the address field, for
example when copying and pasting from somewhere else.
2024-09-09 20:41:28 +02:00
Bartosz Taudul
5795bc5766
Include git reference in user agent.
2024-09-09 20:27:12 +02:00
Bartosz Taudul
323778e96f
Probe for Wine in HttpRequest.
2024-09-09 20:25:09 +02:00
Bartosz Taudul
48763ef836
Thread selection in flame graph.
2024-09-09 01:31:49 +02:00
Bartosz Taudul
504b9d215e
Sampling mode flame graph.
2024-09-08 23:07:15 +02:00
Bartosz Taudul
88f0f6680b
Implement Wayland clipboard paste.
2024-09-08 21:16:21 +02:00
Bartosz Taudul
25ff997548
Implement clipboard copy on Wayland.
2024-09-08 21:16:20 +02:00
Bartosz Taudul
59092bef72
Create data device for a seat.
2024-09-08 19:20:16 +02:00
Bartosz Taudul
bec8973265
Bind data device manager.
2024-09-08 18:29:02 +02:00
Bartosz Taudul
d4f6537b95
Cosmetics.
2024-09-08 18:28:56 +02:00
Bartosz Taudul
f1bfbb9821
Allow easy retrieval of git ref from the about dialog.
2024-09-08 17:47:46 +02:00
Bartosz Taudul
45b9aff761
Display counts of selectable items, if some are unselected.
2024-09-08 17:44:42 +02:00
Bartosz Taudul
8b8ff9363d
Cache last source location entry.
...
227 ms -> 138 ms
2024-09-08 17:01:50 +02:00
Bartosz Taudul
0c0e4f554f
Do a linear search instead of using a map.
...
513 ms -> 227 ms for a trace with 66 unique source locations and 179 million
zones.
2024-09-08 16:10:39 +02:00
Bartosz Taudul
d67598f0fe
Hide advanced options in trace save dialog.
...
The default settings are good enough.
2024-09-08 15:54:42 +02:00
Bartosz Taudul
0d8b2b6252
Adapt frame graph tooltip to look more like zone tooltip.
2024-09-08 15:41:44 +02:00
Bartosz Taudul
c783a48bae
Always include CMake binary dir in include path.
2024-09-08 14:52:57 +02:00
Bartosz Taudul
1950040461
Print git ref in the about dialog.
2024-09-08 14:23:05 +02:00
Bartosz Taudul
5934f5da9a
Generate git revision to a header file.
2024-09-08 14:18:52 +02:00
Bartosz Taudul
959f0de7e5
Open find zone from flame graph.
2024-09-08 13:48:22 +02:00
Bartosz Taudul
6080b8742a
Fix memory leak.
2024-09-08 13:39:40 +02:00
Bartosz Taudul
4afc0960fb
Add flame graph tooltip.
2024-09-08 13:20:37 +02:00
Bartosz Taudul
d8849af800
Drawing the flame graph.
2024-09-08 13:11:24 +02:00
Bartosz Taudul
e4ec798762
Basic flame graph window layout.
2024-09-08 12:33:11 +02:00
Bartosz Taudul
5b75954c5b
Flame graph builder.
2024-09-08 12:33:11 +02:00
Bartosz Taudul
692fcc225f
Add flame graph window.
2024-09-08 12:33:09 +02:00
Bartosz Taudul
64f2008cc1
Disable transparency on collapsed windows title bars.
2024-09-07 18:03:38 +02:00
Bartosz Taudul
e393ade59d
Shorten menu bar button names.
2024-09-07 18:00:59 +02:00
Marcos Slomp
1dfc926eb8
Metal back-end WIP
2024-08-26 08:15:47 -07:00
Bartosz Taudul
f7b810a3d1
Mark hyperthread jumps.
2024-08-24 16:52:04 +02:00
Bartosz Taudul
be92ae787c
Add tooltips for thread jumps.
2024-08-24 16:50:02 +02:00
Bartosz Taudul
50bb383667
Display CPU topology data in zone wait regions list.
2024-08-24 16:47:55 +02:00
Bartosz Taudul
844bc1e416
Display die jumps in wait regions list.
2024-08-24 16:37:04 +02:00
Bartosz Taudul
46e979e185
Display die information on CPU data graph.
2024-08-24 16:36:29 +02:00
Bartosz Taudul
357b557684
Add die to CPU topology data structures.
...
Drawing dies on the topology chart is a minimal effort for the time being.
An improved version will be added later on.
2024-08-22 20:26:11 +02:00
Bartosz Taudul
60042d1944
Print context switch event data.
2024-08-06 20:37:51 +02:00
Bartosz Taudul
a1064a3d26
Observe thread grouping hint when a new thread appears.
2024-08-03 20:18:40 +02:00
Bartosz Taudul
1390c8c9e3
Take group hint into account when sorting threads.
2024-08-03 20:11:55 +02:00
Bartosz Taudul
dbf6274bff
Remove threads that had group hint changed from thread order list.
2024-08-03 20:11:35 +02:00
Bartosz Taudul
70a468e160
Protocol version 66 was used by 0.11.0.
2024-08-03 19:36:56 +02:00
Pavel Šmejkal
893754638c
Fix achievement mgr crashing on uninitialized data
...
Both the achievement manager and the achievement data were globals in
separate compilation units. Order of initialization is not defined in
that case which sometimes caused the mgr to load uninitialized data and
crash when an achievement should have been achieved but was not found.
2024-07-17 21:57:16 +02:00
Bartosz Taudul
ec455c8ee6
Add frame images achievement.
2024-07-08 19:46:01 +02:00
Bartosz Taudul
69c50cb6cb
Add frame instrumentation achievement.
2024-07-08 19:30:27 +02:00
Bartosz Taudul
e4cda51bf6
Unlock new top-level achievements in already unlocked categories.
2024-07-08 19:26:27 +02:00
Bartosz Taudul
1a7eefc6af
Add find zones achievement.
2024-07-08 19:11:58 +02:00
Bartosz Taudul
6f17cf1869
Use double quotes in achievements texts.
2024-07-08 18:52:20 +02:00
Bartosz Taudul
9688152505
Add dynamic colors, force colors, shorten name to global options.
2024-06-30 20:13:11 +02:00
Bartosz Taudul
f8023ba698
Setup config before loading user data state that may want to overwrite it.
2024-06-30 20:12:08 +02:00
Bartosz Taudul
3c34d9d096
Remove redundancy.
2024-06-30 20:11:50 +02:00
Bartosz Taudul
938ab3b8ea
Move config setup to a separate function.
2024-06-30 20:11:25 +02:00
Bartosz Taudul
9f0f3a7218
Save achievements data after each completion.
2024-06-16 12:53:40 +02:00
Bartosz Taudul
50f5345ea5
Add a help marker for the target FPS setting.
2024-06-16 12:52:17 +02:00
Bartosz Taudul
959ab53529
Add global settings achievement.
2024-06-16 12:45:11 +02:00
Bartosz Taudul
915a138150
Add 100 million zones achievement.
2024-06-16 12:39:26 +02:00
Bartosz Taudul
c5c0fceda4
Add instrumentation statistics achievement.
2024-06-14 18:25:50 +02:00
Bartosz Taudul
f04d844515
Use strlen to calculate end of string in ShortenZoneName().
2024-06-12 23:54:25 +02:00
Bartosz Taudul
3589b46fab
Don't try to shorten zone names starting with '['.
2024-06-12 23:33:45 +02:00
Bartosz Taudul
2edd23f5a0
More verbose achievement names.
2024-06-10 22:53:37 +02:00
Bartosz Taudul
72cf230228
Add sampling achievement check.
2024-06-10 22:52:03 +02:00
Bartosz Taudul
3cb7fd8a5e
More efficient way to check if there are zones.
2024-06-10 22:51:53 +02:00
Bartosz Taudul
65576a294e
Add sampling achievements category.
2024-06-10 22:44:20 +02:00
Bartosz Taudul
fc08f09b94
Switch the achievement category to show the selected achievement.
2024-06-08 13:44:23 +02:00
Bartosz Taudul
51ee66323b
Add category getter for an achievement item.
2024-06-08 13:44:11 +02:00
Bartosz Taudul
b38ac8bfef
Hook up instrumentation intro achievement.
2024-06-08 13:31:23 +02:00
Bartosz Taudul
7dbb3c592f
Fine-tune achievements window size.
2024-06-08 13:20:09 +02:00
Bartosz Taudul
03e9c89dd8
Finish instrumentation intro achievement description.
2024-06-08 13:20:09 +02:00
Bartosz Taudul
e09379bd16
Add source code printer helper.
2024-06-08 13:10:31 +02:00
Bartosz Taudul
ef1c8e8512
Allow parsing arbitrary source code fragments.
2024-06-08 13:10:30 +02:00
Bartosz Taudul
16bc01551e
Mark categories that need attention.
2024-06-08 12:45:19 +02:00
Bartosz Taudul
a6b9369430
Allow checking if achievement category needs attention.
2024-06-08 12:45:01 +02:00
Bartosz Taudul
7401a72ccf
Process unlock list, unlock achievement categories.
2024-06-08 12:35:46 +02:00
Bartosz Taudul
fde874eedf
Introduce unlocks list, hook things up.
...
Unlocks should only be used for achievements that are not already in the
items lists.
2024-06-08 12:34:02 +02:00
Bartosz Taudul
9d7222eb4a
Add unfinished instrumentation achievement and category.
2024-06-08 12:33:37 +02:00
Bartosz Taudul
6cc772e71e
Unlock any eligible new achievements that may have been added.
2024-06-08 11:55:55 +02:00
Bartosz Taudul
1247f365d0
Improve some achievement descriptions.
2024-06-08 11:55:46 +02:00
Bartosz Taudul
a8e427fc7f
Locked achievements can't be done.
2024-06-08 11:44:30 +02:00
Bartosz Taudul
d9fe3ed9a6
Add CMake option to not use parallel STL.
2024-06-08 00:20:12 +02:00
Bartosz Taudul
a3b63bb468
Save / load state of achievements.
2024-06-07 23:53:27 +02:00
Bartosz Taudul
3f2d28407b
Animate achievements star button when attention is needed.
2024-06-07 23:53:27 +02:00
Bartosz Taudul
ba154e02db
Allow checking if achievements need attention.
2024-06-07 23:53:27 +02:00
Bartosz Taudul
139dc44a00
Hook up save / load trace achievements.
2024-06-07 23:53:26 +02:00
Bartosz Taudul
d474f21576
Add a check for being connected to "connect to client" achievement.
2024-06-07 23:53:26 +02:00
Bartosz Taudul
efdd28f7bb
Add achievement for connecting to a client.
2024-06-07 23:53:26 +02:00
Bartosz Taudul
6aa9401b95
Add achievement wrapper function to TracyView.
2024-06-07 23:53:26 +02:00
Bartosz Taudul
aff60a6a36
Mark the initial achievement as achieved on startup.
2024-06-07 23:53:26 +02:00
Bartosz Taudul
cddab58b0d
Add achievements processing logic.
2024-06-07 23:53:26 +02:00
Bartosz Taudul
d2e995478e
Add initial achievements data.
2024-06-07 23:53:26 +02:00
Bartosz Taudul
b5fda4f456
Add achievement data structure definitions.
2024-06-07 23:53:25 +02:00
Bartosz Taudul
02ad97ff3f
Disable achievements UI on emscripten.
2024-06-07 23:53:25 +02:00
Bartosz Taudul
2e2e6257d7
Show/hide achievements list window.
2024-06-07 23:53:25 +02:00
Bartosz Taudul
bf0226fb64
Update screen only when achievements notification is animating.
...
The NeedsUpdate() method will be useful in future.
2024-06-07 23:53:25 +02:00
Bartosz Taudul
3886111e70
Add achievements notification.
2024-06-07 23:53:25 +02:00
Bartosz Taudul
8051ceaa43
Add a basic achievements manager.
2024-06-07 23:53:25 +02:00
Bartosz Taudul
f6f8fb3d27
Set dark background.
2024-06-07 23:53:25 +02:00
Bartosz Taudul
2cea5706d5
Add initial achievements popup.
2024-06-07 23:53:25 +02:00
Bartosz Taudul
8d67c79431
Add self-profiling option.
2024-06-04 02:22:35 +02:00
Bartosz Taudul
3a186887ed
Added compression streams to save trace UI.
2024-06-02 15:52:37 +02:00
Bartosz Taudul
9dea830f98
Move file compression enum out of FileWrite.
2024-05-31 19:24:32 +02:00
Bartosz Taudul
0d5bd53be3
Update imgui to 1.90.7-docking.
2024-05-31 17:31:26 +02:00
Bartosz Taudul
207e065ffe
Protect against empty program name.
2024-05-30 13:59:30 +02:00
Bartosz Taudul
56b4424399
Be consistent with how statistics shows inline counts.
2024-05-25 13:03:32 +02:00
Bartosz Taudul
0333b9f591
Hide "propagate inlines" checkbox if there are no inlined functions.
2024-05-25 12:54:12 +02:00
Bartosz Taudul
071d440955
Show number of inlined functions in a symbol.
2024-05-25 12:51:17 +02:00
Bartosz Taudul
f0d3eb1dfe
Right-align image name + base address in symbol view.
2024-05-25 12:38:28 +02:00
Bartosz Taudul
cf23441116
Cosmetics.
2024-05-21 20:18:54 +02:00
Martijn Courteaux
bd00c6a4ee
Improve time comparing display with better colors.
2024-05-21 19:47:19 +02:00
Martijn Courteaux
abdbaed737
Simplify time comparing display.
2024-05-21 19:32:43 +02:00
Martijn Courteaux
86717de6e1
Improve time comparing display.
2024-05-21 19:24:04 +02:00
Martijn Courteaux
ec7fc9ffb6
Cleanup
2024-05-21 19:08:54 +02:00
Martijn Courteaux
717e545158
Improve time comparing display.
2024-05-21 19:08:16 +02:00
Martijn Courteaux
f704c57f98
Clearer and more detailed comparison in terms of slow down or speed up of times when comparing traces.
2024-05-21 17:10:48 +02:00
Martijn Courteaux
73f09de29d
Fix savings calculation.
2024-05-21 15:25:23 +02:00
Martijn Courteaux
b879f5b519
Save plot height view data.
2024-05-08 10:43:14 +02:00
Martijn Courteaux
da8c2340b3
Support adjusting plot height.
2024-05-07 13:33:57 +02:00
Bartosz Taudul
839cf6ef91
Add thread sorting.
2024-05-06 20:18:13 +02:00
Bartosz Taudul
68473381b9
Indicate that memory limit was hit with notification triangle color.
2024-05-05 21:07:50 +02:00
Bartosz Taudul
b64389ba15
Display memory limit in notification area.
2024-05-05 20:59:25 +02:00
Bartosz Taudul
5f0cac546b
Pass memory limit to worker.
2024-05-05 20:50:03 +02:00
Bartosz Taudul
2663ce1a4a
Add warning about memory limit.
2024-05-05 20:33:35 +02:00
Bartosz Taudul
56c52b8d8f
Add memory limit global settings.
2024-05-04 16:53:40 +02:00
Bartosz Taudul
66a32de0f7
Move physical memory size getter to a separate source file.
2024-05-04 16:53:40 +02:00
Bartosz Taudul
377e41fe61
Make memUsage an atomic.
2024-05-04 14:28:55 +02:00
Bartosz Taudul
6199b2f883
Try to make the top bar labels fit in their space.
2024-05-04 14:07:14 +02:00
Bartosz Taudul
6a6caae2ea
Save shorten name setting for each trace.
2024-05-04 13:22:30 +02:00
Bartosz Taudul
4a7f6e0cc1
Use enum names in radio button list.
2024-05-04 12:55:55 +02:00
Bartosz Taudul
061b5c77ce
Make trace options save file user-readable.
...
More importantly, it allows for backwards-compatibility when something
is added or removed, instead of just ignoring what was set before when
a binary version bump occurs.
2024-05-04 12:46:16 +02:00
Bartosz Taudul
a1a7e63d93
Disable assembly in zstd.
2024-04-30 13:44:07 +02:00
Arnim Balzer
805cc6385a
Allow source file modification time to be newer then trace capture time via checkbox
...
Useful on a Mac if sources are controlled via git
2024-04-16 09:52:45 +01:00
Lectem
2530dceac4
CMake: Selecte executable project as startup project for VS
2024-04-14 18:13:51 +02:00
Lectem
a577a86b5c
CMake: ASM should be listed last in project() so that it can use the C/C++ compiler executable as assembler
...
From the project() CMake documentation:
> If enabling ASM, list it last so that CMake can check whether compilers for other languages like C work for assembly too.
2024-04-14 18:13:17 +02:00
Bartosz Taudul
651c6c5350
Fix assert when propagate inlines was enabled.
2024-03-31 18:44:01 +02:00
Bartosz Taudul
30f1b901a9
Conditional framerate limiting on GLFW.
2024-03-29 21:59:16 +01:00
Bartosz Taudul
e85457815e
Conditional framerate limiting on Wayland.
2024-03-29 21:56:54 +01:00
Bartosz Taudul
c21170cc01
Add config option for reduced render rate.
2024-03-29 21:54:31 +01:00
Bartosz Taudul
547325f270
Reduce framerate on Wayland when profiler window has no focus.
2024-03-29 21:46:24 +01:00
Bartosz Taudul
767f7e4fd4
Track keyboard focus on Wayland.
2024-03-29 21:38:20 +01:00
Martijn Courteaux
aa66d0c286
Fix Ctrl-Shift-Alt-R bug
2024-03-28 18:07:27 +01:00
Bartosz Taudul
e071b9043f
Set busy cursor when the application is busy.
2024-03-24 17:40:30 +01:00
Bartosz Taudul
5b2cce0a02
Push IsBusy() callback to Backend.
2024-03-24 17:39:55 +01:00
Bartosz Taudul
9f9cd04761
Add function to determine if the program is busy.
2024-03-24 17:38:45 +01:00
Bartosz Taudul
630effe8fa
Add support for different mouse cursors on Wayland.
2024-03-24 01:54:21 +01:00
Bartosz Taudul
87dcfbd84b
Set mouse cursor with the cursor shape protocol.
2024-03-24 01:36:03 +01:00
Bartosz Taudul
3805727ee5
Generate cursor shape protocol.
2024-03-24 01:22:57 +01:00
Bartosz Taudul
6349d1ef0b
Support fractional scaling.
...
Mouse cursor is broken, but the whole Wayland design of providing mouse
cursors as surfaces by the application is broken.
2024-03-24 01:17:40 +01:00