1
0
mirror of https://github.com/wolfpld/tracy.git synced 2025-03-20 07:40:02 +08:00
Commit Graph

161 Commits

Author SHA1 Message Date
Damien Mabin 37f886dba4 Fix compilation on 32 bit android 2023-11-15 13:28:37 +02:00
Tiago Rodrigues c373647dae fix coding style 2023-11-13 13:43:03 -05:00
trodrigues 2988d0a136 rename libunwind option and add it to cmake 2023-11-10 16:17:39 -06:00
Tiago Rodrigues 95cb3e1f5a Add "TRACY_NO_SYS_TRACE" env var to allow force disabling system trace even if the underlying system supports it 2023-11-10 17:02:47 -05:00
Tiago Rodrigues 790d28911d Add env var "TRACY_NO_DBHELP_INIT_LOAD" to allow disabling dbghelp loading of DeviceDriver and ProcessModules at startup 2023-11-10 17:02:03 -05:00
Tiago Rodrigues 4c94b3eff7 Add support to use libunwind for backtrace capturing on linux platforms (which is ~ 4x faster than execinfo) 2023-11-10 17:00:39 -05:00
Bartosz Taudul 0b21b2f3b4 Merge pull request #649 from michaeldleslie/support_qnx
Add basic QNX support
2023-10-30 23:44:58 +01:00
Ivan Molodetskikh 852a1a5f14 Add TracyIsStarted
When using TRACY_MANUAL_LIFETIME, calling most Tracy functions
before starting the profiler results in an assertion. Notably, even
TracyIsConnected is affected. There is, however, no function to check if
the profiler had already started. This commit adds such a function.
2023-10-25 14:56:29 +04:00
Michael Leslie 8263bfb829 clean up indentation 2023-10-24 17:44:46 -07:00
Michael Leslie daba5ae1d8 add qnx support for instrumentation profiling only 2023-10-24 17:40:13 -07:00
Ivan Molodetskikh 41fc293043 Add GpuTimeSync event
Allows to resynchronise GPU and CPU timestamps during profiling.
2023-10-22 10:16:41 +04:00
Bartosz Taudul 3601576b3f Add some more ogryzek device identifiers. 2023-10-20 01:32:05 +02:00
Ivan Molodetskikh 52caae3a51 Defer GPU contexts from the C API
Same as how the C++ API does it. Otherwise with on demand mode the
profiler never receives the GPU context info.
2023-10-19 15:33:06 +04:00
Marcell Kiss 69ba216245 correct load method Vk instance extension symbol 2023-10-17 23:23:13 +01:00
Bartosz Taudul 37aff70dfa Release 0.10.0. 2023-10-16 20:59:38 +02:00
Bartosz Taudul 757362f782 Merge pull request #603 from slomp/slomp/d3d11-refactor
refactoring of the D3D11 back-end
2023-10-09 23:56:20 +02:00
Marcos Slomp ded5b81fa4 eliminate "already defined" warning when passing TRACY_DELAYED_INIT to the compiler on Apple clients 2023-10-09 13:24:54 -07:00
Bartosz Taudul da1bc2b60e Merge pull request #597 from Keno/kf/noplrdtsc
Use patchable rdtsc sequence to avoid slowdowns under rr
2023-09-24 21:55:11 +02:00
Bartosz Taudul 855fd299ea Merge pull request #600 from slomp/slomp/d3d12-refactor
Refactoring of the D3D12 back-end
2023-09-24 21:51:58 +02: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
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
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
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
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
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
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
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
menduz e05545b04a Fix mac compile for latest macos SDK
Following https://github.com/wolfpld/tracy/commit/3feb2473a2042337db65d3ff4c0dd17c8e69430f, `mach_vm.h` seems to have been deleted
2023-08-15 21:00:46 -03:00
Ястребков Дмитрий Ирикович de45af63cc Fix compilation for the case of using TRACY_NO_CALLSTACK 2023-07-31 11:40:12 +07:00
Andréa MACHIZAUD 47843918f4 Fix missing entries in tracy/TracyVulkan.hpp 2023-06-23 14:56:53 +02:00
Light7734 b9eb5f6bef fix: add missing #endif in 'TracyVulkan.hpp' 2023-06-22 09:31:33 +00:00
robertblaketaylor 1b65a87c32 Support use of dynamic vulkan symbols (#570) 2023-06-09 12:48:30 +02:00
sean ca61a1350a Fix: Missing TracyVkContextHostCalibrated overload with Tracy disabled 2023-05-21 21:47:25 +02:00