Skip to content

PR 0122 Vulkan retire idle queued reports without a command buffer

github-actions[bot] edited this page Sep 18, 2026 · 1 revision

PR #122 — Vulkan: retire idle queued reports without a command buffer

State: Merged Reviewed head: 2dd5c45ed4832be591ac8930e9df6ee2d8627ad2 Role: Supporting implementation/test history. The primary technical reference is Performance-Research-G03-Deferred-Report-Completion.

Why it mattered

A shared finish or retirement API can have a CPU-only branch. Instrument the actual operation rather than inferring a GPU wait from a function name, and make ownership timing explicit in oracles.

Processing difference

flowchart LR
    A["Before: CPU-side report entries could remain queued unless a Vulkan command buffer was active."] --> B["PR #122"]
    B --> C["After: PFIFO-idle queues retire in order; active GPU work still follows submit/wait/query ordering."]
Loading

Durable lesson

A shared finish or retirement API can have a CPU-only branch. Instrument the actual operation rather than inferring a GPU wait from a function name, and make ownership timing explicit in oracles.

Avoid repeating

  • Do not infer correctness or cost from labels such as clean, finish, same handle, or disabled.
  • Preserve the ownership, range, publication, retry, identity, or progress contract exposed by the PR.
  • Keep focused correctness evidence separate from broad throughput claims.
  • Re-run the relevant negative control when moving the mechanism to another renderer or subsystem.

Evidence pointer

Architecture

This page records what the PR taught us. Current design, source status, future experiments, and acceptance rules belong on the linked technical reference page.

Clone this wiki locally