Commit Graph

10058 Commits

Author SHA1 Message Date
Bartosz Taudul
0dfd7fb20b Cache IsFrameExternal() queries. 2026-05-14 19:51:41 +02:00
Bartosz Taudul
b90e44a5f1 Add raw data accessor to StringIdx. 2026-05-14 19:33:21 +02:00
Bartosz Taudul
744bd21423 Change IsFrameExternal() interface to operate on StringIdx, move to Worker. 2026-05-14 19:01:04 +02:00
Marcos Slomp
4a58c42e2d Merge pull request #1316 from slomp/slomp/d3d12-ring
GPU: D3D12: remove NewFrame() API + drop unresolved queries when under pressure
2026-05-14 09:16:32 -07:00
Marcos Slomp
af9802e3f2 debugbreak only for msvc 2026-05-14 08:24:54 -07:00
Marcos Slomp
ad9c6f2f18 addressing code review 2026-05-14 08:13:59 -07:00
Bartosz Taudul
eb3df3b411 Fix blurred web page at fractional scaling. 2026-05-13 21:53:58 +02:00
Bartosz Taudul
7e9f66c987 Prefer switching to source/line within symbol in links from markdown. 2026-05-13 00:33:43 +02:00
Bartosz Taudul
f4b89278ef Switching to a specified filename and line within already opened symbol. 2026-05-13 00:32:54 +02:00
Bartosz Taudul
e0a8499376 Add information about symbol vs source code. 2026-05-12 18:03:45 +02:00
Bartosz Taudul
6ded0d1d7b Bump imgui to 1.92.8-docking. 2026-05-12 18:03:45 +02:00
Bartosz Taudul
77152da627 Make child sample counts consistent with child sample time formatting. 2026-05-12 02:03:16 +02:00
Bartosz Taudul
2a51d4acf1 Disable child calls controls if there are no child calls. 2026-05-12 02:02:05 +02:00
Bartosz Taudul
ea651eacce Give guidance for looking at external function calls. 2026-05-12 01:22:09 +02:00
Bartosz Taudul
3edcf37c58 Add guidance about links in inline code. 2026-05-12 01:03:17 +02:00
Bartosz Taudul
b0f00d20c8 Proper floating point charconv is available since libstdc++ 11 (April 2021). 2026-05-12 00:30:49 +02:00
Bartosz Taudul
453f2c1871 Display child calls time as a percentage. 2026-05-12 00:25:09 +02:00
Bartosz Taudul
e40497e02e No 'if' for BeginChild. 2026-05-12 00:16:05 +02:00
Bartosz Taudul
e124ae985d Add child call percentage relative to total symbol time. 2026-05-12 00:11:27 +02:00
Bartosz Taudul
efa1b1ef48 Convert child call distribution list to a table, add image column. 2026-05-12 00:11:27 +02:00
Bartosz Taudul
ec6c2618ca Add missing separator. 2026-05-11 23:23:34 +02:00
Bartosz Taudul
fe4c920794 Skip inline symbols. 2026-05-11 23:10:06 +02:00
Bartosz Taudul
afcefc7855 Add llm tool for getting disassembly + profiling data for a symbol. 2026-05-11 22:23:29 +02:00
Bartosz Taudul
22ec55f1d5 Store View reference in TracyLlmTools. 2026-05-11 22:09:27 +02:00
Bartosz Taudul
c026c98bbb Source file name is not needed for gathering assembly data. 2026-05-11 22:01:25 +02:00
Bartosz Taudul
205983e87f Recalculate AddrStatData in AttachRangeToLlm.
For consistency, always provide the OS-level sampling data, not the hardware
samples.

Always disable inline propagation, which is intended as a local area help
for a human. It does not make sense in context of an llm.
2026-05-11 21:48:00 +02:00
Bartosz Taudul
c9a9bbdab2 Move Gather{Additional,}IpStats from TracySourceView to TracyDisassembly. 2026-05-11 21:22:53 +02:00
Bartosz Taudul
ae56d79c7e Extract disassembly line formatting to a separate function. 2026-05-11 21:11:39 +02:00
Bartosz Taudul
860724d794 Cosmetics. 2026-05-11 20:27:53 +02:00
Bartosz Taudul
40199a42b3 Properly emit empty cost separators when line addres is not in ipCountAsm. 2026-05-11 20:27:04 +02:00
Bartosz Taudul
7c6e656fda Use existing reference to array entry. 2026-05-11 20:01:40 +02:00
Bartosz Taudul
9611069a4f Remove guidance about user replies from assembly attachments. 2026-05-11 19:51:39 +02:00
Bartosz Taudul
825960553a Give reasoning for always providing source file name + line number. 2026-05-11 19:51:06 +02:00
Bartosz Taudul
325fe71d30 Move AddrStatData from TracySourceView to TracyDisassembly. 2026-05-11 19:22:37 +02:00
Bartosz Taudul
beec259520 Extract symbol code disassembly into a separate source file.
Two bugs fixed in the process:

1. X86_REG_BPL is now properly set (previously there were duplicate
   X86_REG_BP entries).
2. maxLine is now properly calculated, instead of being set to the
   last line value.
2026-05-11 01:30:28 +02:00
Bartosz Taudul
1dcad83790 Include call costs in assembly attachments. 2026-05-10 14:05:31 +02:00
Bartosz Taudul
8dd606009c Require window focus for z/x key activation in source view. 2026-05-10 13:24:20 +02:00
Bartosz Taudul
17b6656c85 Provide program optimization strategies for llm. 2026-05-10 12:44:49 +02:00
Bartosz Taudul
edb5241bee Be more efficient with missing values in asm attachments. 2026-05-10 11:35:31 +02:00
Bartosz Taudul
5cb283073e Store kernel symbol end address, not size.
The end address is now readily available in lower_bound search, instead
of needing to be calculated constantly in the lambda.

The size can be equivalently calculated from the end address, but this
only happens once, after the symbol is found.
2026-05-10 00:15:18 +02:00
Bartosz Taudul
a6c72f1cc7 Do not repeatedly read from all ring buffers to find minimum time entry. 2026-05-09 20:41:29 +02:00
Bartosz Taudul
95416a4b9c Since active[] order doesn't matter, memmove can be replaced with a swap. 2026-05-09 17:48:57 +02:00
Bartosz Taudul
f7ab78893c Don't query inline-symbol frames as native addresses.
Frames whose symbol data is shipped inline with the callstack payload
(sel=1, e.g. Lua-side stack entries) were being passed to
GetCanonicalPointer() in the AddCallstackAllocPayload() query loop,
tripping its sel==0 assertion. They have no native pointer to query
and were already registered in callstackFrameMap earlier in the same
function, so just skip them.

Regression from c704f909, which hoisted the per-call-site dedup into
QueryCallstackFrame(). Three of the four updated call sites were
equivalent before and after, because the old guard and the new one
keyed on the same value. The fourth, this one, was not: the old guard
tested the frame as-is and matched the entry inserted a few lines above,
short-circuiting before GetCanonicalPointer() ran. The new guard keys on
PackPointer(addr), so GetCanonicalPointer() must run first to compute
addr, and the assert fires.
2026-05-09 12:13:45 +02:00
Bartosz Taudul
7de27ebffa Force inline RingBuffer::Read(). 2026-05-09 01:05:33 +02:00
Bartosz Taudul
70535435f2 Use masking instead of calculating remainder.
size is power-of-two (asserted).
2026-05-09 00:58:16 +02:00
Bartosz Taudul
61a6fb6780 Batch ring buffer reads. 2026-05-09 00:50:50 +02:00
Marcos Slomp
d5bce07a90 oopsie 2026-05-08 15:33:12 -07:00
Marcos Slomp
027a37409b addressing code review comments 2026-05-08 14:30:24 -07:00
Bartosz Taudul
1bfd3beab9 Add "how to fix this crash?" preset question to call stack window. 2026-05-08 01:57:43 +02:00
Bartosz Taudul
b864ff47e5 Implement disabling LLM summary and suggestion. 2026-05-08 01:48:19 +02:00