PassReport

interface PassReport

The frame's GPU time by pass, independent of the renderer that timed it — apps/game/src/render/passTimeline.ts produces it, ir.passes() reports it.

devtools/src/passReport.ts:5

Members

busyMsreadonly

busyMs: number

The passes' shares summed, per frame: time any timed pass ran.

droppedreadonly

dropped: number

framesreadonly

frames: number

gapsreadonly

gaps: readonly { after: string; before: string; ms: number }[]

Time between passes with no pass running.

ownedreadonly

owned: readonly { label: string; latencyMs: number; samples: number; source: string }[]

Passes timed by their owner's own timer, beside the rest: the upscaler's, which run outside the renderer's hooks. Begin-to-end means, so latency rather than cost, over as many frames as the owner's timer has slots — samples says how many. Not counted in busyMs; the work falls in one of gaps, so adding the two counts it twice.

passesreadonly

passes: readonly { 5 fields }[]

spanMsreadonly

spanMs: number

First pass begin to last pass end, per frame.

wallMsreadonly

wallMs: number

Wall clock per frame across a drained queue — ir.gpu()'s figure.