Build the initial Vulkan profiling layer and native timeline viewer
Build a Rust/ash Vulkan profiling layer, bounded on-disk trace transport, CLI launcher/summary, and egui Vulkan-rendered native Wayland viewer. Profile GPU command-buffer/rendering/debug-label scopes, inspect draw/dispatch metadata, associate measurements with presentation intervals without claiming end-to-end frame latency. No replay, hardware counters, game authentication, or resource-content readback. Use /home/mathias/PRK/Client/PRK.Client at its login screen only; do not modify its installation. Acceptance: real GPU timestamps and contextual metadata captured from a Vulkan workload; trace parser and timing invariants tested; viewer runs Vulkan on Wayland; PRK login-screen integration attempted and evidence/limitations recorded. UI must have legible bundled typography, a navigable overview of all captured presentation intervals, clear selected-frame timing and pass ranking, and a restrained inspector. Remove decorative backend badges, repetitive small subtitles, and always-visible raw handles/hash dumps; retain technical identities and timing caveats in opt-in details. User rejected the initial utilitarian UI and requested a substantial layout/typography overhaul. Explicitly disclose instrumentation overhead, supported command paths, timestamp clock domains, and unsupported cases. Initial support is legacy render passes (including render-pass-2 aliases), primary non-simultaneous command buffers, and both submission APIs. Devices enabling dynamic rendering are left uninstrumented to avoid violating suspend/resume validity; no calibrated CPU/GPU alignment yet. GPU completion-boundary intervals are inclusive, not isolated execution costs. Validation: formatting, workspace check, 16 unit/interaction tests, strict Clippy, and build passed. Real-GPU integration passed both submission APIs, recording reuse, simultaneous-use/dynamic-rendering skip states, query-scope budget exhaustion, cross-rendering-label omission, and Vulkan screenshot/rendering/clean shutdown with DISPLAY unset. PRK login-screen capture produced 124 command-buffer measurements across 120 presentation calls with no Vulkan validation errors reported; no login attempted. Timed termination left no clean shutdown marker, which remains explicitly reported. UI overhaul verified against the user's /tmp/test-cap recording: bundled Noto Sans, full-capture frame graph, click/drag navigation, ranked pass table, stable generated queue/device/pass/pipeline names, contextual inspector, collapsed handles/hashes, and removal of backend badges/footer subtitles. Visual review used direct GPU screenshot captures/redesign.png. GPU overview totals exclude idle gaps between command buffers and do not sum parallel queues; an explicit toggle restores idle spacing. README documents launch/view workflows, validation, limits, and font licensing. No commits created.
Checklist
3 of 3 complete- Implement and test trace model, CLI launch/summary, and bounded Vulkan timestamp instrumentation with honest unsupported states.
- Validate GPU measurements with a deterministic Vulkan workload and PRK login screen; run formatting, checks, tests and document verified limitations.
- Build and verify a legible native Wayland/Vulkan viewer with all-frame click/drag navigation, ranked pass timings, contextual inspection, stable friendly object names, and opt-in technical details instead of decorative subtitles.
- Area
- Personal tooling
- Project
- Wayrender
- Kind
- Feature
- Task ID
tsk_avprgvnct3- Updated