Skip to content

gpu: snapshot per-batch LOD timing across batch boundary#160

Merged
nclack merged 3 commits into
acquire-project:mainfrom
nclack:fix-154-lod-timing-snapshot
Jun 18, 2026
Merged

gpu: snapshot per-batch LOD timing across batch boundary#160
nclack merged 3 commits into
acquire-project:mainfrom
nclack:fix-154-lod-timing-snapshot

Conversation

@nclack

@nclack nclack commented Jun 18, 2026

Copy link
Copy Markdown
Member

Closes #154.

The per-level (LOD) timing in the metrics could read slightly wrong values. A batch's timing was read after it finished, but by then the next batch could have reused and overwritten those timers. These numbers are only for reporting, so written data was never affected — only the timing readout could be off.

Fix: give each in-flight batch its own set of timers (enough for the most that can be active at once), so a batch's timing is read from its own set rather than a later batch's. The ordering signal that had been sharing one of those timers is split out, leaving the timers purely for measurement. Batches that do no per-level work (a trailing partial write) are marked so the reader skips their timers instead of reading stale ones.

Reporting only; no change to written data.

@codecov

codecov Bot commented Jun 18, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

Files with missing lines Coverage Δ
src/defs.limits.h 100.00% <ø> (ø)

... and 1 file with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@nclack nclack merged commit 3c4e74d into acquire-project:main Jun 18, 2026
8 checks passed
@nclack nclack deleted the fix-154-lod-timing-snapshot branch June 18, 2026 14:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Per-LOD timing metrics can race the next batch's events (skew only, no data impact)

1 participant