Commit Graph

8028 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
Marcos Slomp
996987b966 scoping 2023-09-11 12:59:48 -07:00
Marcos Slomp
7b2acd2c6d improved error reporting 2023-09-11 12:53:42 -07:00
Marcos Slomp
42b088d085 Collect pending timestamps upon context destruction 2023-09-11 12:46:03 -07:00
Marcos Slomp
2e3ae95882 reworking TracyD3D12 macros 2023-09-11 12:28:07 -07:00
Marcos Slomp
f9d36060df reworking clock calibration 2023-09-11 12:08:15 -07:00
Marcos Slomp
6454b0bd65 removing windows/com header bloat 2023-09-11 12:07:42 -07:00
Marcos Slomp
cf38d6a102 reworking context id initialization 2023-09-11 11:56:52 -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
Marcos Slomp
4f42a75df2 compressing redundant code 2023-09-11 11:53:33 -07: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
Marcos Slomp
fc33fc010b typo 2023-08-31 13:09:34 -07:00
Marcos Slomp
2bdf0ee75d more power-efficient busy-wait 2023-08-30 09:09:46 -07:00
Marcos Slomp
bac06853fe reworking the TracyD3D11 macros 2023-08-30 09:02:01 -07:00
Marcos Slomp
dcd34397bd refactoring of the D3D11 back-end 2023-08-28 14:15:06 -07: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