Instrument transfer, compute, and synchronization work between Vulkan render passes
Expand the existing Vulkan layer and viewer on main so gaps between render passes can be explained by timed transfer/compute regions and bounded synchronization metadata. Reuse command-buffer query pools, timestamp arithmetic, trace transport, stable naming, and UI selection. Default work mode coalesces outside-pass operations into bounded regions; overview mode retains coarse timing. Preserve old trace readability and the clean UI; raw resource handles stay in technical details. Acceptance: capture image/buffer copy/upload/fill/blit/resolve/clear paths, direct/indirect compute dispatch context, and legacy/synchronization2 pipeline barriers (core/KHR aliases where applicable). Show operation/resource/extent/byte and barrier stage/access/layout metadata without calling completion intervals isolated barrier cost or GPU utilization. Do not insert timing queries inside render passes or enable unsupported dynamic-rendering/protected/simultaneous paths. Bound per-recording detail and query use, disclose omissions, and preserve structural timings when detail budget is exhausted. Verify known GPU results and old traces, compare overview/work capture modes, and test PRK at the login screen only with validation; do not log in or modify its installation. No replay, per-draw timing, hardware counters, or automatic commits. Verified core coverage: 16 real-GPU cases passed with synchronization validation enabled, including Vulkan 1.2 KHR aliases, Vulkan 1.3 core copy/synchronization paths, overview/work modes, known buffer/image/depth/resolve output, indirect dispatch, in-pass barriers, query/detail limits, recording reuse, unsupported states, and legacy v1 parsing. Trace v2 adds optional structured operation data; reader retains v1 compatibility. Query budgets reserve 256 structural scopes separately from 64 work regions. PRK work-mode validation capture: 124 command-buffer samples across 120 presentation calls, 247 transfer regions and 120 compute regions, with zero validation errors or synchronization hazards in the log. The final interval exposes a depth-copy region (~0.77 ms) and a color/depth-copy batch (~1.56 ms), plus their barrier metadata. Some startup metadata exceeded bounded detail limits and is explicitly reported. These are completion intervals including adjacent barriers, not isolated copy or wait costs. Login screen only; no login attempted. Final verification: formatting/check, 27 unit/interaction tests, strict Clippy, build, all 16 synchronization-validated GPU cases, legacy-v1 summary and viewer, new work-mode viewer, GPU screenshots, and git whitespace checks passed. Native viewer tests used DISPLAY unset. Visual inspection of captures/prk-work-regions.png confirmed newly visible transfer regions and preserved clean typography/layout. Resource-name/unknown-byte UI assertions and detailed metadata parsing passed; README documents modes, supported paths, bounded omissions, and completion-interval semantics. Startup omissions were confined to intervals 0–1 in the PRK capture; the final measured interval had complete operation metadata. Reviewer was aborted/skipped at the user's request; no independent review result or approval is claimed. Work remains uncommitted on main.
Checklist
3 of 3 complete- Implement backward-compatible detail configuration and bounded coalesced outside-pass timing with transfer/compute/barrier metadata and explicit omissions.
- Expose new GPU region kinds and friendly resource/context inspection in the existing clean timeline UI and document timing semantics.
- Verify legacy and synchronization2/core/KHR command paths, coarse/work modes, limits, in-pass safety, old traces, GPU output, viewer, and PRK login-screen integration with validation.
- Area
- Personal tooling
- Project
- Wayrender
- Kind
- Feature
- Task ID
tsk_79xnqj6txn- Updated