Commit Graph
10676 Commits
Author SHA1 Message Date
Bartosz Taudul 4ffc8b0dd2 Merge pull request #1430 from alandtse/fix/d3d11-zero-frequency-divide
fix(d3d11): guard collector against zero frequency
2026-07-20 12:04:07 +02:00
Alan Tse dc9dfb2e65 fix(d3d11): guard collector against zero frequency
D3D11_QUERY_DATA_TIMESTAMP_DISJOINT can report Frequency == 0 even
when Disjoint == FALSE. Neither the initial CPU/GPU calibration
loop nor the per-frame Collect() path guarded against this, so
`timestamp * (1000000000 / disjoint.Frequency)` divides by zero
and crashes the profiled application with
EXCEPTION_INT_DIVIDE_BY_ZERO inside client instrumentation code.

Treats a zero frequency the same as an existing guard already does
for a disjoint result: skip/retry in calibration, and in Collect()
advance the checkpoint and drop the batch via TracyD3D11Panic,
matching the existing disjoint-timestamp handling immediately
above it.
2026-07-19 22:28:52 -07:00
Bartosz Taudul ef099b0555 The UD- prefix is problematic in router mode. 2026-07-19 01:17:52 +02:00
Bartosz Taudul 956e082e5b ResetGraph lambda can't be static. 2026-07-18 15:33:43 +02:00
Bartosz Taudul be6377f81b Constrain source view window size. 2026-07-18 14:51:41 +02:00
Bartosz Taudul 249b76f175 Do not display time, reason data for aggregate wait stacks. 2026-07-18 14:39:52 +02:00
Bartosz Taudul 6a916a6c9f Constrain zone info window size. 2026-07-18 14:31:15 +02:00
Bartosz Taudul 0f56c8ac7e Constrain callstack window size. 2026-07-18 14:19:33 +02:00
Bartosz Taudul 8a4876a071 Fix wrong formatting. 2026-07-18 14:15:14 +02:00
Bartosz Taudul 7539daa602 Constrain sample entry stacks window size. 2026-07-18 14:11:33 +02:00
Bartosz Taudul ab46247a9c Constrain frame statistics window size. 2026-07-18 14:07:48 +02:00
Bartosz Taudul 7bc32a1536 Use sub-child in frame statistics window. 2026-07-18 14:07:22 +02:00
Bartosz Taudul 6858a664dc Constrain wait stacks window size. 2026-07-18 14:01:29 +02:00
Bartosz Taudul 3eae7a6d65 Constrain LLM window size. 2026-07-18 13:52:58 +02:00
Bartosz Taudul 64c0c5c85f Constrain compare window size. 2026-07-18 13:46:24 +02:00
Bartosz Taudul 74e1ddfbeb Constraint window memory size. 2026-07-18 13:42:14 +02:00
Bartosz Taudul f472b92f13 Constraint statistics window size. 2026-07-18 13:40:20 +02:00
Bartosz Taudul 6c8dd9fd93 Constrain find zone window size. 2026-07-18 13:37:10 +02:00
Bartosz Taudul 8184964c2d Include sub-window padding and scrollbars. 2026-07-18 13:36:45 +02:00
Bartosz Taudul eef8fac58b Constrain messages window size. 2026-07-18 13:21:35 +02:00
Bartosz Taudul 2d2487e2e0 Constrain flame graph window size. 2026-07-18 13:20:15 +02:00
Bartosz Taudul 562fea5564 Add DPI change notification method in View. 2026-07-18 13:17:42 +02:00
Bartosz Taudul 3608d0c271 Add imgui window size constraints helper. 2026-07-18 13:17:42 +02:00
Bartosz Taudul f08792f217 Remove filtering for things that are no longer present. 2026-07-18 12:50:47 +02:00
Bartosz Taudul 87b838f553 Update manual. 2026-07-18 12:32:50 +02:00
Bartosz Taudul ed39de8025 Update NEWS. 2026-07-18 12:23:14 +02:00
Bartosz Taudul 84c6548c94 Add option to group symbol flame graph items by name, not symaddr. 2026-07-18 12:20:38 +02:00
Bartosz Taudul 0b2e7dd13c Add StringIdx equality comparison operator. 2026-07-18 12:20:32 +02:00
Bartosz Taudul eb12b62af6 Extract flame graph reset functionality. 2026-07-18 12:07:43 +02:00
Bartosz Taudul 91bababef7 Common path for both trees in sample entry stacks. 2026-07-17 22:24:58 +02:00
Bartosz Taudul f13bb0bf52 Fix UI logic. 2026-07-15 02:09:34 +02:00
Bartosz Taudul 0caee2147c Update manual. 2026-07-15 01:20:14 +02:00
Bartosz Taudul 3e91ee15b1 Display FPS time range values in frame compare. 2026-07-14 23:56:28 +02:00
Bartosz Taudul f7c63ac40c Display single FPS value in frame stats tooltip, if min and max are equal. 2026-07-14 23:55:44 +02:00
Bartosz Taudul 3d85d0468e Remove unneeded capture. 2026-07-14 21:28:33 +02:00
Bartosz Taudul ff3c57c8d3 Category may exist while sections are not filled.
Dereference of end() iterator in section category options list
(profiler/src/profiler/TracyView_Options.cpp:152-153)

The new category list iterates categories = m_worker.GetSectionDescriptions()
(the description map) and then looks up each category in sections = m_worker.
GetSections():

for( const auto& v : categories )
{
    ...
    auto it = sections.find( v.first );
    ImGui::TextDisabled( "(%s)", RealToString( it->second.size() ) );
    ...
}

sectionsDescription is a superset of sections's keys: ProcessSectionSetup
(server/TracyWorker.cpp:7484-7496) inserts into sectionsDescription only,
while ProcessSectionEnter (server/TracyWorker.cpp:7416-7454) inserts into
both. A category set up via TracySectionSetup that has no TracySectionEnter
events yet (or a saved trace containing such a category) will be in
sectionsDescription but not in sections. find returns end() and
it->second.size() is undefined behavior (likely crash).
2026-07-14 21:21:45 +02:00
Bartosz Taudul a501117392 Use proper data size. 2026-07-14 21:20:00 +02:00
Bartosz Taudul 916e62de17 Display count of sections in each category. 2026-07-14 19:17:22 +02:00
Bartosz Taudul 88c491e0f9 Add select/unselect all buttons to section categories list. 2026-07-14 19:14:55 +02:00
Bartosz Taudul 1a6b7781bd Update manual. 2026-07-14 19:13:01 +02:00
Bartosz Taudul 71810c4265 Update NEWS. 2026-07-14 19:13:01 +02:00
Bartosz Taudul 15fecdbf79 Display section category in section tooltips. 2026-07-14 19:13:01 +02:00
Bartosz Taudul c1e8c7bac9 Implement disabling specific section categories. 2026-07-14 19:13:00 +02:00
Bartosz Taudul 03af70fd78 Add section categories descriptions accessor. 2026-07-14 19:13:00 +02:00
Bartosz Taudul 7933c00447 Add notification for when sections are hidden. 2026-07-14 19:13:00 +02:00
Bartosz Taudul eb53d28358 Repurpose "limit to view" icon for sections. 2026-07-14 19:13:00 +02:00
Bartosz Taudul 2e0367cd1f Implement disabling drawing of sections. 2026-07-14 19:13:00 +02:00
Bartosz Taudul c2fa2d4d7b New section selection menu in compare window. 2026-07-14 19:13:00 +02:00
Bartosz Taudul f86105c600 New section range copy in playback. 2026-07-14 19:13:00 +02:00
Bartosz Taudul 2b9e7a53ff Further extraction of common functionality. 2026-07-14 19:13:00 +02:00