Commit Graph

531 Commits

Author SHA1 Message Date
Bartosz Taudul
e6f74c04d6
Wayland cursor handling is fucking stupid. 2022-11-08 00:31:57 +01:00
Bartosz Taudul
e227cfe100
Process pointer events. 2022-11-07 21:46:17 +01:00
Bartosz Taudul
4f7fba1fed
Hook seat. 2022-11-07 01:20:48 +01:00
Bartosz Taudul
9645998a97
Set app id. 2022-11-06 01:33:15 +01:00
Bartosz Taudul
1ccc0c39ea
Delay toplevel creation until after OpenGL initialization. 2022-11-06 01:14:56 +01:00
Bartosz Taudul
4d74968515
Wait for xdg_surface to be configured.
Some compositors require configuration event to happen before getting
toplevel.
2022-11-06 01:01:07 +01:00
Bartosz Taudul
a2f774dc20
Downgrade wl_compositor protocol to version 4.
Some compositors do not implement protocol in version 5.
2022-11-06 00:43:09 +01:00
Bartosz Taudul
ce797d82d5
Add minimal wayland backend. 2022-11-05 22:41:54 +01:00
Bartosz Taudul
a9be9d65de
Add xdg-shell protocol. 2022-11-05 22:41:26 +01:00
Bartosz Taudul
a6a265b548
Display notification if there's a problem with file selector. 2022-10-30 00:42:45 +02:00
Bartosz Taudul
d523c728ea
Do not display unknown PIDs. 2022-10-26 23:23:07 +02:00
Bartosz Taudul
86f88714ae
Add compatibility with previous broadcast versions. 2022-10-26 23:23:07 +02:00
Bartosz Taudul
f6cfbe935d
Resize canvas to fit window on page load. 2022-10-18 21:01:46 +02:00
Bartosz Taudul
b9fee59ac8
Do not hide progress bar, leaving the preload element. 2022-10-18 21:01:01 +02:00
Bartosz Taudul
9bc8580f99
Do not crash on resize when application has not started yet. 2022-10-18 21:00:20 +02:00
Bartosz Taudul
fdb130651d
Detect if hardware supports S3TC. 2022-10-15 12:56:19 +02:00
Bartosz Taudul
5b1c1119c5
Create icon texture while waiting for icon to load. 2022-10-15 12:16:18 +02:00
Bartosz Taudul
4892c32b40
Fix blur caused by fractional DPI scaling. 2022-10-15 11:57:17 +02:00
Bartosz Taudul
55f2da581a
Check if glfwRequestWindowAttention() is available. 2022-10-15 01:15:22 +02:00
Bartosz Taudul
d0968844d8
Only request attention if window has no focus. 2022-10-13 20:44:31 +02:00
Bartosz Taudul
c89c4f46ea
Hook up attention callback. 2022-10-13 19:31:47 +02:00
Bartosz Taudul
4a1e93841d
Add attention request function to windowing backend. 2022-10-13 19:22:21 +02:00
Bartosz Taudul
de3190657e
Make sure window redraw is active on refresh callback. 2022-10-13 19:08:37 +02:00
Bartosz Taudul
05f4efa2f4
Display PID in available client tooltip. 2022-10-09 22:01:09 +02:00
Bartosz Taudul
76213331f4
Store PID in broadcasting clients data. 2022-10-09 21:59:18 +02:00
Bartosz Taudul
f2f36876e1
Remove unnecessary check. 2022-10-09 21:59:10 +02:00
Bartosz Taudul
17d3ac0141
Disable assertions in release builds. 2022-10-08 14:54:54 +02:00
Bartosz Taudul
63743f2760
Don't listen for broadcasts on emscripten. 2022-10-08 14:51:21 +02:00
Bartosz Taudul
fadd103169
Disable update check on emscripten. 2022-10-08 14:44:53 +02:00
Bartosz Taudul
2b6c53a73e
Set initial memory size to 384 MB to prevent growth at start. 2022-10-08 14:43:12 +02:00
Bartosz Taudul
a9afe18c26
Limit running environment support to web. 2022-10-08 14:34:44 +02:00
Bartosz Taudul
6c507a123a
Enable growing of wasm heap. 2022-10-08 14:33:49 +02:00
Bartosz Taudul
94ccc37979
Bump available heap to 2GB. 2022-10-06 18:12:51 +02:00
Bartosz Taudul
9f60b53729
Enable file selector on emscripten. 2022-10-06 18:12:51 +02:00
Bartosz Taudul
b369c784a6
Disable closure compiler. 2022-10-06 18:12:50 +02:00
Bartosz Taudul
ec0757c03a
Change file selector to work with callbacks. 2022-10-06 18:12:50 +02:00
Bartosz Taudul
a4e39f3d5f
Enable redraw after screen resize. 2022-10-06 17:32:25 +02:00
Bartosz Taudul
754f7a5167
Add makefile target for starting httpd. 2022-10-05 23:44:39 +02:00
Bartosz Taudul
3ca61ad227
Extract file selector functionality. 2022-10-05 22:50:17 +02:00
Bartosz Taudul
e530103f43
Cosmetic fixes. 2022-10-02 18:08:27 +02:00
Bartosz Taudul
cf61fbf7ba
Support hidpi. 2022-10-02 13:51:28 +02:00
Bartosz Taudul
4b5a823d39
Adapt render size to fit browser window. 2022-10-02 13:40:14 +02:00
Bartosz Taudul
73f6e73c51
Add basic html wrapper page. 2022-10-02 12:59:44 +02:00
Bartosz Taudul
6dd434a2d6
Run closure compiler on javascript. 2022-10-02 01:02:27 +02:00
Bartosz Taudul
75b95233ea
Preload embedded trace on emscripten. 2022-10-02 00:41:08 +02:00
Bartosz Taudul
ffa48be2d9
Add emscripten build files. 2022-09-30 01:06:34 +02:00
Bartosz Taudul
78169326b3
Setup main emscripten loop. 2022-09-30 00:57:07 +02:00
Bartosz Taudul
863b36d04b
Emscripten expects GLES2 (WebGL 1). 2022-09-30 00:39:42 +02:00
Bartosz Taudul
1d482a417d
Use std::move(), not move(). 2022-09-29 21:02:05 +02:00
Bartosz Taudul
8b17522dff
Use proper glfw version checks. 2022-09-29 00:45:48 +02:00
Bartosz Taudul
05a3ab8a33
Mark activity when ImGui windowing navigation target is on. 2022-09-28 17:57:29 +02:00
Bartosz Taudul
26d269e857
Non-empty list of client broadcasts marks activity. 2022-09-28 01:34:31 +02:00
Bartosz Taudul
c8c684e9bc
Clear list of clients when View is active. 2022-09-28 01:34:20 +02:00
Bartosz Taudul
b24506492a
Move client broadcasts processing earlier in code. 2022-09-28 01:31:38 +02:00
Bartosz Taudul
f5abdd489d
Mark activity on HTTP response. 2022-09-28 01:24:41 +02:00
Bartosz Taudul
fb4d76469b
Activity tracking global variable. 2022-09-28 00:36:00 +02:00
Bartosz Taudul
c7ec2a9e0e
Check for popup background fade animation. 2022-09-28 00:26:29 +02:00
Bartosz Taudul
b3e9a03856
Check for activity in View. 2022-09-28 00:26:03 +02:00
Bartosz Taudul
a8be0bc91e
Disable cursor blinking. 2022-09-27 22:13:31 +02:00
Bartosz Taudul
258fd73e6e
Remove dead code. 2022-09-27 22:12:18 +02:00
Bartosz Taudul
232fb5aaa4
Disable screen redraw when there are no input events. 2022-09-27 22:02:08 +02:00
Bartosz Taudul
1e7c6e3f49
Handle iconification by waiting for events. 2022-09-27 17:32:01 +02:00
Bartosz Taudul
ff8a85ea2d
Use small font for debug data in about window. 2022-09-26 01:15:37 +02:00
Bartosz Taudul
8c5dc57359
Add ellipsis to fixed font atlas. 2022-09-24 00:29:21 +02:00
Bartosz Taudul
ad2fc03125
Migrate CPU data to timeline item system. 2022-09-04 14:31:02 +02:00
Bartosz Taudul
60579d6334
Migrate drawing GPU data to the new timeline item system. 2022-09-04 13:39:20 +02:00
Bartosz Taudul
ec3dcaeef3
Migrate drawing CPU threads to the new timeline item system. 2022-09-03 23:28:54 +02:00
Bartosz Taudul
b481bb367c
Switch plot drawing to the timeline items system. 2022-09-03 17:51:33 +02:00
Bartosz Taudul
b42182f0a8
Add base class for timeline items. 2022-09-03 17:51:29 +02:00
Bartosz Taudul
be392a76fb
Move TracyVersion.hpp to common. 2022-08-27 16:05:36 +02:00
Bartosz Taudul
49bda91be5
Cosmetics. 2022-08-20 01:45:55 +02:00
Bartosz Taudul
4bcb59bbe6
Update font awesome and migrate to v6 headers. 2022-08-17 12:07:38 +02:00
Bartosz Taudul
d9d31e4d51
Make fixed font more compact.
Note that the negative glyph spacing is const here, regardless of the font
scaling. The alternative of using proportional spacing in reality does not
work as good as it sounds. With fractional scaling some of the glyphs will
no longer land on exact pixel boundaries, which results in blurry text.

Looking at the potential solutions for this problem is moot point, as with
the non-fractional scale of 2x and glyph spacing of -2, there is no longer
enough space separating some letters, which is especially visible in words
like "common" or register "xmm", where the "mm" pair becomes joined.
2022-08-16 13:16:21 +02:00
Bartosz Taudul
8531ef6591
Extract ShortenZoneName() function to a separate file. 2022-08-15 16:34:37 +02:00
Bartosz Taudul
c01ad38d46
Start extracting timeline height control logic. 2022-08-15 13:29:45 +02:00
Bartosz Taudul
df00870a4b
InputBuf is no longer than 255 bytes. 2022-08-14 18:20:39 +02:00
Bartosz Taudul
07d921b322
Cosmetics. 2022-08-14 11:29:36 +02:00
Bartosz Taudul
7dbfed9aea
Drop access to native window.
The new NFD library is not using this information, and the old one was using
it only on Windows. Oh well.

Removal of this functionality also removes some build-time decisions.
2022-08-12 21:44:24 +02:00
Bartosz Taudul
d63d1c9e7f
Load icon during rendering backend setup.
Creating a new window along with setting up an OpenGL context is universally
a lengthy operation. Decode the icon image on a separate thread.
2022-08-07 17:13:38 +02:00
Bartosz Taudul
46292b0719
Dynamically track saved window state. 2022-07-28 00:48:14 +02:00
Bartosz Taudul
aa07820eb7
Rely solely on GLFW DPI handling. 2022-07-28 00:31:10 +02:00
Bartosz Taudul
b86f1a907a
Move all GLFW code to a separate class. 2022-07-28 00:24:52 +02:00
Bartosz Taudul
1e8029c4d9
Display icon in the about screen. 2022-07-28 00:24:50 +02:00
Bartosz Taudul
1eacce9e06
Create texture with resized icon. 2022-07-28 00:24:49 +02:00
Bartosz Taudul
2c31ba8016
Don't free icon pixel data. 2022-07-28 00:24:48 +02:00
Bartosz Taudul
add5c1e328
Instantiate stb_image_resize. 2022-07-28 00:24:48 +02:00
Bartosz Taudul
065f13c382
Add stb_image_resize. 2022-07-28 00:24:47 +02:00
Bartosz Taudul
002eb6ae2d
Extract filtering connections functionality. 2022-07-28 00:24:46 +02:00
Bartosz Taudul
a356340783
Extract connection history functionality. 2022-07-28 00:24:46 +02:00
Bartosz Taudul
31b6a88923
Extract window position save/load functionality. 2022-07-28 00:24:45 +02:00
Bartosz Taudul
208755ad53
Extract main thread run queue. 2022-07-28 00:24:45 +02:00
Bartosz Taudul
f0f00512b0
Extract font loading. 2022-07-28 00:24:44 +02:00
Bartosz Taudul
2d327abd80
Move imgui backends to a subdirectory. 2022-07-28 00:24:43 +02:00
Bartosz Taudul
054c26781a
Move fonts to a subdirectory. 2022-07-28 00:24:40 +02:00
Bartosz Taudul
06c7984a16
Move all client headers and sources to public/ directory. 2022-07-17 15:47:38 +02:00
Bartosz Taudul
94444e2afb
Display compatible Tracy versions for bad protocols. 2022-07-13 00:53:15 +02:00
Bartosz Taudul
b70321fe6a
Add protocol -> version mapping table. 2022-07-13 00:44:02 +02:00
Bartosz Taudul
3c49dea10c
Link with UniformTypeIdentifiers on macos. 2022-07-03 13:52:39 +02:00
Bartosz Taudul
889e643d2a
Extract ranges UI from View. 2022-07-02 15:40:51 +02:00
Bartosz Taudul
e3b11821c3
Extract zone timeline rendering from View. 2022-07-02 15:36:36 +02:00
Bartosz Taudul
7b04d8c0b3
Extract frames timeline UI from View. 2022-07-02 15:31:03 +02:00
Bartosz Taudul
c2728fde04
Extract locks UI from View. 2022-07-02 15:24:09 +02:00
Bartosz Taudul
e005d4ff36
Extract messages UI from View. 2022-07-02 15:15:24 +02:00
Bartosz Taudul
358148920a
Extract annotations UI from View. 2022-07-02 15:04:54 +02:00
Bartosz Taudul
5b451c3557
Extract samples UI from View. 2022-07-02 15:04:53 +02:00
Bartosz Taudul
585587fa36
Extract frame tree functionality from View. 2022-07-02 15:01:22 +02:00
Bartosz Taudul
8147eadaf0
Extract connection state and notification area. 2022-07-02 14:47:13 +02:00
Bartosz Taudul
de5c4c678a
Extract memory UI from View. 2022-07-02 14:42:06 +02:00
Bartosz Taudul
f3fe8b27e8
Extract plot drawing from View. 2022-07-02 14:36:54 +02:00
Bartosz Taudul
e98b24a9ed
Extract frame overview UI from View. 2022-07-02 14:19:16 +02:00
Bartosz Taudul
003621802f
Split callstack UI from View. 2022-07-02 14:09:15 +02:00
Bartosz Taudul
5a3305095e
Extract CPU data UI from View. 2022-07-02 14:04:45 +02:00
Bartosz Taudul
6f99c8d055
Extract trace info UI from View. 2022-07-02 14:03:01 +02:00
Bartosz Taudul
a6cee9e7f7
Extract statistics UI from View. 2022-07-02 13:57:56 +02:00
Bartosz Taudul
749bab7ab0
Extract playback UI from View. 2022-07-02 13:55:45 +02:00
Bartosz Taudul
35f55c781b
Extract compare UI from View. 2022-07-02 13:48:54 +02:00
Bartosz Taudul
10dbefefab
Extract context switch UI from View. 2022-07-02 13:43:09 +02:00
Bartosz Taudul
c9f77ee5fa
Move zone info UI out of View. 2022-07-02 13:37:04 +02:00
Bartosz Taudul
b602d61944
Extract options UI from View. 2022-07-02 13:23:52 +02:00
Bartosz Taudul
d19b337573
Split View navigation functions. 2022-07-02 13:16:06 +02:00
Bartosz Taudul
5b8c8c5309
Extract common zone algorithms from View. 2022-07-02 13:12:30 +02:00
Bartosz Taudul
2473760c04
Extract Find Zone UI to a separate file. 2022-07-02 13:12:29 +02:00
Bartosz Taudul
7f35a299c4
Merge pull request #412 from theblackunknown/fix-windows-vcpkg
Fix building on Windows without `VCPKG_ROOT` env var set
2022-06-27 17:22:21 +02:00
Bartosz Taudul
a05285083a
Update xxhash filename in MSVC project. 2022-06-23 01:46:56 +02:00
Bartosz Taudul
84ea1bc35b
Update ImGui OpenGL loader. 2022-06-21 22:37:20 +02:00
Bartosz Taudul
56863f5ab7
Update ImGui to 1.88 + docking. 2022-06-21 22:18:01 +02:00
MACHIZAUD Andréa
84319911c5 Use $(ProjectDir) for vcpkg msbuild without integration paths. 2022-06-18 17:28:56 +02:00
MACHIZAUD Andréa
5e9b007e90 Uses $(VcpkgManifestRoot) for vcpkg msbuild integration paths. 2022-06-18 17:28:56 +02:00
MACHIZAUD Andréa
6aec95e739 Fix vcxproj support without vcpkg integrate install 2022-06-13 22:30:56 +02:00
Bartosz Taudul
411b3137b5
Merge pull request #365 from theblackunknown/msvc+vcpkg-manifest
Using vcpkg manifest for Windows
2022-06-04 16:44:27 +02:00
MACHIZAUD Andréa
fa8bcdfb30 Inject appropriate path for manifest install 2022-06-04 16:26:22 +02:00
Graydon Hoare
0d4a4f6d9b
Support TRACY_NO_LTO build flag. 2022-05-19 23:40:27 -07:00
Bartosz Taudul
4347b5c99c
Allow using GTK file chooser instead of portal one (#387). 2022-05-09 22:37:40 +02:00
MACHIZAUD Andréa
599098912e Remove superfluous vcxproj setup thanks to vcpkg integration 2022-05-09 10:42:11 +02:00
MACHIZAUD Andréa
3adc55d66d Fix weird path ? 2022-05-09 10:42:11 +02:00
MACHIZAUD Andréa
1fabf9dfa5 Update vcxproj vcpkg path 2022-05-09 10:42:11 +02:00
MACHIZAUD Andréa
adcfe4df35 Add Vcpkg manifest + MSBuild integration 2022-05-09 10:42:10 +02:00
Bartosz Taudul
f4581c398c
Provide 256x256 application icon (was 48x48). 2022-05-03 02:41:10 +02:00
Bartosz Taudul
b10c83f358
Use lld linker, if available. 2022-04-27 02:17:16 +02:00
Bartosz Taudul
7f44eba2e9
Process command line parameters immediately after starting. 2022-04-27 01:51:30 +02:00
Bartosz Taudul
92dc52d530
Add --help message to GUI profiler. 2022-04-27 01:44:26 +02:00
Bartosz Taudul
1e35bbd54e
Join update thread before bailing out on bad input. 2022-04-27 01:39:51 +02:00
Bartosz Taudul
0d547bf4db
Update ImGui to 1.87 + docking. 2022-04-27 00:49:37 +02:00
Bartosz Taudul
bc36f5ff27
Fix buffer overflow. 2022-04-26 22:42:54 +02:00
Bartosz Taudul
1f3ebc9f41
Use item spacing instead of ExtraLineHeight. 2022-04-26 21:11:38 +02:00
Bartosz Taudul
2dd61aba49
Makefiles can now build clangd database.
Executing the "make db" will run the build process of the selected tool or
library through the bear wrapper (which has to be available in the system),
which will record the compilation parameters of each source file. This
database can be then used by VS Code to set the proper defines and find all
the required includes.

Note that database building is performed in context of the specific tool or
library. Not all tools have the same set of flags.
2022-04-23 23:46:55 +02:00
Bartosz Taudul
94b283b1e6
Use native file selector on Linux. 2022-04-20 19:40:27 +02:00
Bartosz Taudul
e870d68a47
Specify proper NFD GTK source file. 2022-04-20 19:40:27 +02:00
Bartosz Taudul
a852cf390a
Adapt code to new NFD. 2022-04-20 19:40:27 +02:00
Bartosz Taudul
9ba7171c3d
Release 0.8.0. 2022-03-28 21:20:44 +02:00