Commit Graph

7668 Commits

Author SHA1 Message Date
Keno Fischer
5417227e83 Use patchable rdtsc sequence to avoid slowdowns under rr
We (Julia) ship both support for using tracy to trace julia applications,
as well as using `rr` (https://github.com/rr-debugger/rr) for record-replay debugging.
After our most recent rebuild of tracy, users have been reporting signfificant performance
slowdowns when `rr` recording a session that happens to also load the tracy library
(even if tracing is not enabled). Upon further examination, the recompile happened
to trigger a protective heuristic that disabled rr's patching of tracy's use of
`rdtsc` because an earlier part of the same function happened to look like a
conditional branch into the patch region. See https://github.com/rr-debugger/rr/pull/3580
for details. To avoid this issue occurring again in future rebuilds of tracy,
adjust tracy's `rdtsc` sequence to be `nopl; rdtsc`, which (as of of the
linked PR) is a sequence that is guaranteed to bypass this heuristic
and not incur the additional overhead when run under rr.

This functionality is kept behind a compile-time flag `TRACY_PATCHABLE_NOPSLEDS`
in order to avoid polluting the instruction cache unnecessarily.
2023-09-20 20:21:40 -04:00
Bartosz Taudul
60a3a85069
Merge pull request #624 from slomp/slomp/udp-broadcast-fix
Fixes around UDP broadcast
2023-09-21 20:29:32 +02:00
Marcos Slomp
83b52d9a20
fix socket reuse logic in UdpListen::Listen() 2023-09-20 21:47:44 -07:00
Bartosz Taudul
0341819fbd
Merge pull request #620 from gan74/master
Fixed Vulkan context running out of queries after 64k
2023-09-11 20:56:19 +02:00
gan74
b979a3d26f Fixed Vulkan context running out of queries after 64k 2023-09-11 20:51:42 +02:00
Bartosz Taudul
1ed4b71afc
Merge pull request #619 from gan74/master
Fixed Vulkan query id generation not being thread safe
2023-09-11 15:41:41 +02:00
gan74
2153973abe Fixed Vulkan query id generation not being thread safe 2023-09-11 15:12:58 +02:00
Bartosz Taudul
73da891805
Remove std:: qualifier from size_t. 2023-09-11 11:33:40 +02:00
Bartosz Taudul
08a36e8dfd
Merge pull request #609 from xhebox/master
adapt libbacktrace to musl
2023-09-10 13:31:48 +02:00
xhe
4e771b2da0 adapt libbacktrace to musl
Signed-off-by: xhe <xw897002528@gmail.com>
2023-09-10 19:26:38 +08:00
Bartosz Taudul
e23aa01d51
Merge pull request #612 from slomp/slomp/d3d12-tabs-to-spaces
D3D12 back-end: converting tabs to spaces
2023-09-09 23:29:12 +02:00
xyz1001
30fb2b5f89
Fix two bugs (#615)
* Fix wrong check for wcstombs return value
* Fix memory leak when call GetThreadDescription
2023-09-08 14:02:55 +02:00
Bartosz Taudul
95e4e01b10
Merge pull request #617 from VirtualGeo/warning_fix
Remove warning (unused parameters)
2023-09-07 11:27:26 +02:00
Vincent Loppin
98de2ed1c4 Remove warning (unused parameters) 2023-09-07 10:06:42 +02:00
Marcos Slomp
393ea938c9 converting tabs to spaces 2023-09-06 08:47:57 -07:00
Bartosz Taudul
4e83aa3818
Merge pull request #611 from Geod24/tracy_demangle_fix
Fix and test TRACY_DEMANGLE for TracyClient
2023-09-06 10:51:44 +02:00
Mathias Lang
c6d9741136 Fix and test TRACY_DEMANGLE for TracyClient
The configuration wasn't tested and stopped compiling.
This fixes it and adds a test to ensure it doesn't break again.
2023-09-06 01:28:58 +02:00
Bartosz Taudul
f15de19fda
Merge pull request #601 from fabioarnold/master
Fix macOS DPI scaling
2023-08-23 13:24:47 +02:00
Fabio Arnold
ed54848536 Fix macOS DPI scaling 2023-08-23 12:24:22 +02:00
Bartosz Taudul
1491e5d708
Merge pull request #595 from bjornblissing/master
Wrap std::numeric_limits<T>::max() in parenthesis
2023-08-17 14:58:30 +02:00
Björn Blissing
e1b1fd72dc Wrap std::numeric_limits<T>::max() in parenthesis
The windows.h header file defines the macro max. If the max macro is include
it will lead to name collisions with the std::numeric_limits<T>::max() function.

One solution is to define NOMINMAX before the inclusion of windows.h.
However, that might be a demanding task for a large codebase. Defining the
NOMINMAX as global define may also break previous code.

Another to solution to the problem is to wrap the numeric_limits function in
parenthesis to instruct the compiler to treat it as a function and not a macro.

This commit wraps the std::numeric_limits<T>::max() calls in the public
interfacing header files, with parenthesis.
2023-08-17 10:03:52 +02:00
Bartosz Taudul
84eff4b05d
Merge pull request #594 from menduz/master-1
Fix mac compile for latest macos SDK
2023-08-16 11:14:46 +02:00
menduz
e05545b04a
Fix mac compile for latest macos SDK
Following 3feb2473a2, `mach_vm.h` seems to have been deleted
2023-08-15 21:00:46 -03:00
Bartosz Taudul
c689e9e0aa
Adjust language to no longer specify "all cores". 2023-08-05 12:08:29 +02:00
Bartosz Taudul
296f30a9c5
Reduce number of worker threads used for render tasks.
Number of cores -> number of worker threads:

1 -> 0
2 -> 0
3 -> 0
4 -> 1
5 -> 1
6 -> 2
7 -> 2
8 -> 3
9 -> 3
10 -> 4
11 -> 4
12 -> 5
13 -> 5
14 -> 6
15 -> 6
16 -> 7
17 -> 7
18 -> 8
19 -> 8
20 -> 9
21 -> 9
22 -> 10
23 -> 10
24 -> 11
25 -> 11
26 -> 12
27 -> 12
28 -> 13
29 -> 13
30 -> 14
31 -> 14
32 -> 15
2023-08-05 12:01:36 +02:00
Bartosz Taudul
47b724a903
Merge pull request #590 from clibequilibrium/patch-1
Added binding links to the README.md
2023-07-31 16:39:33 +02:00
Alexander
8110cb20cc
Added binding links to the README.md 2023-07-31 09:47:04 -04:00
Bartosz Taudul
1eafeea1a9
Merge pull request #588 from dmirys/fix-tracy-no-callstack
Fix compilation for the case of using TRACY_NO_CALLSTACK
2023-07-31 12:21:55 +02:00
Ястребков Дмитрий Ирикович
de45af63cc Fix compilation for the case of using TRACY_NO_CALLSTACK 2023-07-31 11:40:12 +07:00
Bartosz Taudul
0e26b9e53f
Merge pull request #583 from jjcasmar/master
Export thread id data in CSV
2023-07-19 14:21:35 +02:00
Juan Jose Casafranca
3d723299b0 Export thread id data 2023-07-19 14:01:27 +02:00
Bartosz Taudul
18f37ec52f
Merge pull request #581 from Christian-Prather/feature/cmake-versioning
Added cmake versioning and removed hardcoded share dir path
2023-07-17 19:02:24 +02:00
Christian Prather
a49af31188 Added cmake versioning and removed hardcoded share dir path 2023-07-17 10:55:46 -06:00
Bartosz Taudul
6c6ec00251
Handle failures when loading connection history. 2023-06-29 23:59:54 +02:00
Bartosz Taudul
57bd63dab6
Show trace description/filename on titlebar. 2023-06-29 23:53:37 +02:00
Bartosz Taudul
0cb6d8588b
Merge pull request #578 from theblackunknown/machizaud/fix-missing-headers
Couple of fixes
2023-06-23 15:02:22 +02:00
Andréa MACHIZAUD
cb30c4eb3e Fix missing TracyClient headers 2023-06-23 14:57:48 +02:00
Andréa MACHIZAUD
47843918f4 Fix missing entries in tracy/TracyVulkan.hpp 2023-06-23 14:56:53 +02:00
Bartosz Taudul
dcc7c24132
Merge pull request #576 from Light7734/patch-1
fix: add missing #endif in 'TracyVulkan.hpp'
2023-06-22 11:34:00 +02:00
Light7734
b9eb5f6bef
fix: add missing #endif in 'TracyVulkan.hpp' 2023-06-22 09:31:33 +00:00
Bartosz Taudul
cf0e6b610b
Update NEWS. 2023-06-10 13:37:01 +02:00
robertblaketaylor
1b65a87c32
Support use of dynamic vulkan symbols (#570) 2023-06-09 12:48:30 +02:00
Bartosz Taudul
2b191e157e
Fix early exit not initializing values used later on. 2023-06-06 17:46:49 +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
c00d8c6211
FreeBSD has 64-bit stat with no need for stat64. 2023-05-23 23:41:39 +02:00
Bartosz Taudul
4e1b198380
FreeBSD has alloca in stdlib.h. 2023-05-23 23:38:34 +02:00
Bartosz Taudul
eca841dfe3
Properly call make from within makefiles. 2023-05-23 22:42:53 +02:00
Bartosz Taudul
6b587e61de
Ignore obj files. 2023-05-22 21:09:38 +02:00
Bartosz Taudul
7299b49dab
Merge pull request #563 from spnda/fix_missing_vulkan_macro
Fix: Missing TracyVkContextHostCalibrated overload with Tracy disabled
2023-05-21 21:50:13 +02:00