Commit Graph

680 Commits

Author SHA1 Message Date
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
Bartosz Taudul
cdfad41d68
Refresh screen after scale change. 2024-03-24 00:04:46 +01:00
Bartosz Taudul
bf86eba59c
Rescale scale to have 120 as a unit. 2024-03-24 00:02:13 +01:00
Bartosz Taudul
16554ed2ed
Handle wayland window resizes the right way. 2024-03-23 23:57:08 +01:00
Bartosz Taudul
aa4878bb8e
Bind viewporter. 2024-03-23 22:27:49 +01:00
Bartosz Taudul
475b022ed8
Generate viewporter protocol. 2024-03-23 22:27:49 +01:00
Bartosz Taudul
2bfa540656
Bind fractional scale manager. 2024-03-23 22:27:48 +01:00
Bartosz Taudul
3342254a0e
Generate fractional-scale protocol. 2024-03-23 22:27:46 +01:00
Bartosz Taudul
4c1b06034b
Display program run time percentage in lines selection summary. 2024-03-23 13:54:39 +01:00
Bartosz Taudul
ef9f2d247d
Add display of per-line sample time as a program run time percentage. 2024-03-23 13:50:00 +01:00
Bartosz Taudul
434d73c7bd
Emscripten support.
Doesn't work due to i64 vs i32 type mismatch in glGetIntegerv, which
seems like some general compatibility bullshit, not something related
to CMake.
2024-03-21 23:04:41 +01:00
Bartosz Taudul
7f8a2e2c9a
Remove old build files. 2024-03-21 23:04:40 +01:00
Bartosz Taudul
bde0c63006
Generate Wayland protocol sources. 2024-03-21 23:04:40 +01:00
Bartosz Taudul
46718851da
Extract some common definitions. 2024-03-21 23:04:39 +01:00
Bartosz Taudul
375f4526df
Set TRACY_VERSION_STRING directly in version.cmake. 2024-03-21 23:04:39 +01:00
Bartosz Taudul
776b08f2e0
Split core server files from the UI. 2024-03-21 23:04:38 +01:00
Bartosz Taudul
cc4ed68271
Extract common set of server files to a separate cmake build file.
Co-authored-by: Tom Atkinson <tja.atkinson@gmail.com>
2024-03-21 23:04:38 +01:00
Bartosz Taudul
269c75103e
Windows build fixes.
- Include manifest.
- Add icon.
- Set subsystem to Windows.
2024-03-21 23:04:38 +01:00
Bartosz Taudul
2c4abf5f9f
Link with winsock on Windows. 2024-03-21 23:04:38 +01:00
Bartosz Taudul
58115b35c5
Fix non-wayland build. 2024-03-21 23:04:38 +01:00
Bartosz Taudul
ee81795f26
Move discovery of external dependencies to cmake/vendor.cmake.
Co-authored-by: Tom Atkinson <tja.atkinson@gmail.com>
2024-03-21 23:04:37 +01:00
Bartosz Taudul
061b990875
Move version.cmake to cmake/ subdirectory.
Co-authored-by: Tom Atkinson <tja.atkinson@gmail.com>
2024-03-21 23:04:37 +01:00
Bartosz Taudul
c9b4248d35
Add basic CMakeLists.txt for the profiler GUI. 2024-03-21 23:04:36 +01:00
Bartosz Taudul
578759384d
Make sure first DPI setup is run. 2024-03-16 01:16:25 +01:00
Bartosz Taudul
c673056dd4
Prevent window resizes on DPI change. 2024-03-16 01:13:09 +01:00
Bartosz Taudul
4fbef01729
Trigger redraw when DPI changes.
Previously the wayland surface was not updated, because there were no
surface commits performed due to power saving routines.
2024-03-16 00:57:55 +01:00
Bartosz Taudul
8ebe62ed85
Fix welcome window resizes. 2024-03-15 20:25:00 +01:00
Bartosz Taudul
55f9341aec
Scale ImGui windows when DPI changes.
Code is directly lifted from ImGui, with certain known caveats.
2024-03-15 20:19:32 +01:00
Bartosz Taudul
18f2631e6e
Remove AUTHORS file. 2024-03-13 19:14:59 +01:00
Bartosz Taudul
3b9e7a1838
Update stb_image to 2.29. 2024-03-13 00:34:19 +01:00
Bartosz Taudul
c0789c20cb
Add CppCon 2023 video. 2024-03-07 17:49:39 +01:00
Bartosz Taudul
9ccc754143
Fix macos, 2024-03-02 00:30:50 +01:00
Bartosz Taudul
746b6c6246
Don't ignore user scale when DPI scale changes. 2024-03-02 00:21:08 +01:00
Bartosz Taudul
b329eb1fcc
Change way of updating fonts in View.
This makes the whole process more easy to follow. It also fixes a crash
bug that was occuring when Wayland output scale changed.
2024-03-01 23:43:53 +01:00
Bartosz Taudul
bdfcc5b814
Add missing ImGui renderer shutdown to the Wayland backend. 2024-03-01 22:11:30 +01:00
Bartosz Taudul
ec549c4831
Update ImGui to 1.90.4 + docking. 2024-03-01 22:09:08 +01:00
Bartosz Taudul
ea0471f9d0
Fix wl_surface v6 listener. 2024-02-28 13:30:59 +01:00
Bartosz Taudul
a1aa87df87
Add ellipsis to standard font. 2024-02-27 02:04:29 +01:00
Bartosz Taudul
b6562f1784
Merge pull request #715 from YaLTeR/fix-wayland-scale
Fix and update Wayland scale handling
2024-02-24 11:45:35 +01:00
Bartosz Taudul
5461427493
Print error message when opening a trace from command line fails. 2024-02-03 16:25:01 +01:00
Ivan Molodetskikh
fcdc96748e wayland: Use preferred_buffer_scale when available
On wl_compositor >= 6 we bind v6 and use preferred_buffer_scale.
Otherwise we bind 4 and do as before.

No other changes are needed for the version bump as Tracy doesn't use
wl_surface_attach() with nonzero coordinates.
2024-01-24 12:43:42 +04:00
Ivan Molodetskikh
16434f116c Add a way for Backend to signal scale changes
On Wayland the scale now changes to the correct value as the Tracy
window is moved across monitors.

If the scale is overridden from environment, it does not change, just
like before.
2024-01-24 12:34:23 +04:00
Ivan Molodetskikh
bf3bd28bfa wayland: Keep track of entered outputs for scale
Wayland kindly informs us which outputs the surface is on, to be used
for scale computation (at least on wl_compositor < 6). On mixed DPI
setups this fixes Tracy potentially using a higher scale than the output
it's displayed on.

However, as is, this commit results in Tracy always using scale 1,
because at the point of backend creation (which is when the scale is
queried) the surface is not yet displayed on any outputs, so a scale of
1 is assumed.
2024-01-24 12:19:52 +04:00
Bartosz Taudul
c4863d4324
Bump ImGui to 1.90.1. 2024-01-11 13:21:19 +01:00
Bartosz Taudul
b262cb2428
Handle load failure exceptions. 2023-12-31 14:16:06 +01:00
Bartosz Taudul
d64307be91
Move bad version popup out of file selector ifdef check. 2023-12-31 13:54:04 +01:00
Bartosz Taudul
cf1e91b853
Bump ImGui to 1.90 + docking. 2023-11-15 18:47:54 +01:00
Moritz Heinemann
69b82903cd Prefer internal imgui 2023-11-15 14:41:45 +01:00
Michael Leslie
daba5ae1d8 add qnx support for instrumentation profiling only 2023-10-24 17:40:13 -07:00
Bartosz Taudul
93537dff33
Merge pull request #636 from ids1024/xdg-decoration
wayland: Fix use of xdg-decoration protocol
2023-10-09 23:56:42 +02:00
Ian Douglas Scott
8fe6c39bb5 wayland: Fix use of xdg-decoration protocol
`zxdg_toplevel_decoration_v1` isn't a global, so the code handling it as
one wasn't doing anything. Instead,
`zxdg_decoration_manager_v1_get_toplevel_decoration` returns it.

This fixes the behavior for compositors that support server-side
decoration, but do not default to it until explicitly requested by the
client.
2023-10-09 14:32:42 -07:00
Bartosz Taudul
009cc92320
Update ImGui to 1.89.9 + docking. 2023-10-09 23:30:57 +02:00
Bartosz Taudul
434a27b85d
Fix linking on win32. 2023-10-08 20:36:16 +02:00
Fabio Arnold
ed54848536 Fix macOS DPI scaling 2023-08-23 12:24:22 +02:00
Bartosz Taudul
c689e9e0aa
Adjust language to no longer specify "all cores". 2023-08-05 12:08:29 +02:00
Bartosz Taudul
6c6ec00251
Handle failures when loading connection history. 2023-06-29 23:59:54 +02:00
Bartosz Taudul
c57b8994f6
Reduce required version of wl_seat protocol to 5.
The latest wl_seat protocol version is 9, but the last addition was made
to it in version 5. Wayland is stupid.
2023-05-25 18:48:45 +02:00
Bartosz Taudul
2759f96c0e
Add headers required on FreeBSD. 2023-05-23 23:48:48 +02:00
Bartosz Taudul
eca841dfe3
Properly call make from within makefiles. 2023-05-23 22:42:53 +02:00
Bartosz Taudul
c79154c87b
Extract processing client broadcast messages to a separate function. 2023-05-07 16:11:42 +02:00
Bartosz Taudul
64daca9f79
Disable LTO on wasm.
wasm-ld: error: /home/wolf/.emscripten_cache/sysroot/lib/wasm32-emscripten/lto/libc-mt.a(ntohs.o): attempt to add bitcode file after LTO.
wasm-ld: error: /home/wolf/.emscripten_cache/sysroot/lib/wasm32-emscripten/lto/libc-mt.a(htonl.o): attempt to add bitcode file after LTO.
2023-05-07 16:10:59 +02:00
Bartosz Taudul
bd2f903c08
Add persistent target FPS option. 2023-05-01 19:09:27 +02:00
Bartosz Taudul
ba41255ccc
Adjust wording. 2023-05-01 15:48:33 +02:00
Bartosz Taudul
555b3628ee
Expose configuration options in the UI. 2023-05-01 15:32:16 +02:00
Bartosz Taudul
b68ada2abd
Load/save global config. 2023-05-01 15:13:58 +02:00
Bartosz Taudul
efce727ad4
Add extern "C" to ini.h. 2023-05-01 15:13:00 +02:00
Bartosz Taudul
a2d470690f
Pass global config to View. 2023-05-01 14:41:38 +02:00
Bartosz Taudul
f68be9bfc3
Add ini to project file. 2023-05-01 14:12:34 +02:00
Bartosz Taudul
2c227af4f3
Add rxi's ini sources.
https://github.com/rxi/ini
13a254c9e38def8924a83badfea5eda5a01b9295
2023-05-01 14:08:28 +02:00
Bartosz Taudul
0f0ac2d6c5
No longer need glGenerateMipmap. 2023-04-29 13:11:16 +02:00
Bartosz Taudul
e1e4699a52
Load custom mip chain for zigzags. 2023-04-29 13:10:58 +02:00
Bartosz Taudul
474dc6945e
Draw zigzags using bitmaps. 2023-04-27 23:17:35 +02:00
Bartosz Taudul
62ec968f24
Load zigzag texture. 2023-04-27 23:17:34 +02:00
Bartosz Taudul
383f1ea8f1
Update OpenGL loader. 2023-04-27 23:17:34 +02:00
Bartosz Taudul
f7b12e2dda
Add zigzag bitmap. 2023-04-27 23:17:34 +02:00
Bartosz Taudul
fa815f3c3b
Remove redundant check. 2023-04-24 23:57:27 +02:00
Bartosz Taudul
f60e51c91b
Fix std::move() usage. 2023-04-16 16:47:47 +02:00
Bartosz Taudul
a0221c8660
Pass function objects through const references. 2023-04-16 16:44:18 +02:00
Bartosz Taudul
778d0cb3fb
Socket::ReadUpTo() doesn't support timeouts. 2023-04-16 12:19:48 +02:00
Bartosz Taudul
72dfab80f8
Update ImGui to 1.89.5 + docking. 2023-04-16 00:22:05 +02:00
Bartosz Taudul
8c1b519fa1
Fix wasm cleanup. 2023-03-25 12:26:28 +01:00
Bartosz Taudul
bea3c0f4d1
Don't pass -march=native to emcc. 2023-03-25 12:25:40 +01:00
Bartosz Taudul
241fa68708
Make embed.tracy downloadable. 2023-03-25 12:20:36 +01:00
Bartosz Taudul
e62a383833
Update imgui to 1.89.4 + docking + emscripten glfw fix. 2023-03-20 23:54:46 +01:00
Bartosz Taudul
b0174f2f3a
No privilege elevation is possible on emscripten. 2023-02-20 21:36:18 +01:00
Bartosz Taudul
fad09a452a
Update ImGui to 1.89.3 + docking. 2023-02-14 17:57:14 +01:00
Bartosz Taudul
cc5e97c88d
Bump stb_image.h to 2.28. 2023-01-31 22:55:18 +01:00
Bartosz Taudul
096293110b
Update ImGui to 1.89.2 + docking. 2023-01-05 19:15:58 +01:00
Bartosz Taudul
6e70b7c20b
Push keyboard modifiers to ImGui. 2022-12-22 17:48:14 +01:00
Bartosz Taudul
797d5df850
Push key events to ImGui. 2022-12-22 17:39:30 +01:00
Bartosz Taudul
dff2a6d6c2
Implement XKB text compositing. 2022-12-20 22:19:45 +01:00
Bartosz Taudul
b7affdd92d
Create XKB compose table/state. 2022-12-20 21:55:31 +01:00
Bartosz Taudul
0831b3f301
Push focus events to ImGui. 2022-12-20 17:11:15 +01:00
Bartosz Taudul
170a961d8d
Tweak mouse wheel behavior on Wayland. 2022-12-20 16:54:28 +01:00
Bartosz Taudul
58f84379d0
Setup Wayland build. 2022-12-20 00:35:43 +01:00
Bartosz Taudul
aa0e899573
Initialize XKB state. 2022-12-20 00:22:27 +01:00
Bartosz Taudul
7106b0c5ef
Hook no-op keyboard handling. 2022-12-19 23:46:08 +01:00
Bartosz Taudul
3b58f5596d
Detect precise (touchpad) scroll events.
Currently the wheel axis Y change has little impact, as the zoom in/out logic
assumes wheel events are discrete.
2022-12-19 21:26:59 +01:00
Bartosz Taudul
ac87b05dcb
Fix scroll events direction on Wayland. 2022-12-19 21:11:53 +01:00
Bartosz Taudul
7f00ae8c83
Fix mouse buttons order on Wayland. 2022-12-19 21:10:55 +01:00
Bartosz Taudul
b80ede3ec6
Limit time delta to 0.1s. 2022-12-11 18:01:32 +01:00
Bartosz Taudul
9e6214350c
Support Hi-DPI mouse cursor. 2022-12-11 17:50:05 +01:00
Bartosz Taudul
1f4562e51d
Support Hi-DPI. 2022-12-11 17:43:41 +01:00
Bartosz Taudul
63ba9cccf2
Track max output scale. 2022-12-11 17:29:28 +01:00
Bartosz Taudul
3d42732795
Track window maximized state. 2022-12-11 16:45:35 +01:00
Bartosz Taudul
d5191ccbd4
Enable alt-space menu on windows. 2022-12-09 19:04:45 +01:00
Bartosz Taudul
ee3d5a94a7
Fix apfel check. 2022-12-09 18:59:01 +01:00
Bartosz Taudul
462d8103aa
Mark activity on window XDG surface reconfiguration.
This happens for example when the window is resized, or maximized.
2022-12-04 21:12:50 +01:00
Bartosz Taudul
12a109d303
Use XDG decoration protocol. 2022-12-04 21:12:50 +01:00
Bartosz Taudul
9d7cdf2a29
Add xdg-decoration protocol. 2022-12-04 21:12:50 +01:00
Bartosz Taudul
7e5ee54f93
On POSIX check if UID is 0. 2022-11-27 22:35:19 +01:00
Bartosz Taudul
97c38077cc
Explain it makes no sense to run server with admin rights. 2022-11-27 22:24:42 +01:00
Bartosz Taudul
59f7870345
Track elevation state. 2022-11-27 21:53:47 +01:00
Bartosz Taudul
7e23d873dc
Check elevation status on Windows. 2022-11-27 21:53:47 +01:00
Bartosz Taudul
e1395f5a53
Rename surfaceListener to include xdg part. 2022-11-10 00:02:20 +01:00
Bartosz Taudul
d26ae1fbb5
Manage list of outputs. 2022-11-10 00:00:50 +01:00
Bartosz Taudul
8b9246e312
Add global remove callback. 2022-11-09 23:11:45 +01:00
Bartosz Taudul
c0035a492f
Update ImGui to 4d5da74. 2022-11-08 23:47:59 +01:00
Bartosz Taudul
53d54092b0
Implement attention requests. 2022-11-08 01:36:45 +01:00
Bartosz Taudul
a7ba5dd9df
Change xdg-shell to private-code. 2022-11-08 01:04:23 +01:00
Bartosz Taudul
8dafadb267
Add xdg-activation protocol. 2022-11-08 01:04:23 +01:00
Bartosz Taudul
1173cbc639
Move wayland protocol to a subdirectory. 2022-11-08 01:04:23 +01:00
Bartosz Taudul
e6f74c04d6
Wayland cursor handling is fucking stupid. 2022-11-08 00:31:57 +01:00