Interface: ResourceLifetime
Defined in: src/gfx/renderJob/graph/transient/LifetimeAnalyzer.ts:12
Per-resource analysis result. The transient pool consumes these to decide aliasing (same bucket key, disjoint [firstUseIdx, lastUseIdx] intervals can share a physical wrapper) and final allocation.
Properties
name
name:
string
Defined in: src/gfx/renderJob/graph/transient/LifetimeAnalyzer.ts:13
kind
kind:
TransientResourceKind
Defined in: src/gfx/renderJob/graph/transient/LifetimeAnalyzer.ts:14
desc
desc:
TextureDesc|BufferDesc
Defined in: src/gfx/renderJob/graph/transient/LifetimeAnalyzer.ts:17
Original desc as passed to b.declareTexture / b.declareBuffer. The analyzer never mutates it.
firstUseIdx
firstUseIdx:
number
Defined in: src/gfx/renderJob/graph/transient/LifetimeAnalyzer.ts:22
Index into the topo-sorted pass order at which this resource is first written or read. Number.POSITIVE_INFINITY if no enabled pass references it — the analyzer emits a console.warn for these "orphan" declarations.
lastUseIdx
lastUseIdx:
number
Defined in: src/gfx/renderJob/graph/transient/LifetimeAnalyzer.ts:25
Last index at which this resource is referenced. -1 if no enabled pass references it.
resolvedUsage
resolvedUsage:
number
Defined in: src/gfx/renderJob/graph/transient/LifetimeAnalyzer.ts:29
Final unioned GPUTextureUsage / GPUBufferUsage bitmask after combining the desc's usage field with every access hint contribution recorded in TransientResourceRegistry.
resolvedWidth?
optionalresolvedWidth?:number
Defined in: src/gfx/renderJob/graph/transient/LifetimeAnalyzer.ts:31
Resolved pixel width (textures only). Undefined for buffers.
resolvedHeight?
optionalresolvedHeight?:number
Defined in: src/gfx/renderJob/graph/transient/LifetimeAnalyzer.ts:33
Resolved pixel height (textures only). Undefined for buffers.
resolvedSize?
optionalresolvedSize?:number
Defined in: src/gfx/renderJob/graph/transient/LifetimeAnalyzer.ts:35
Resolved byte size (buffers only). Undefined for textures.
persistent
persistent:
boolean
Defined in: src/gfx/renderJob/graph/transient/LifetimeAnalyzer.ts:39
True ⇒ this resource is externally owned (imported) or explicitly marked aliasable: false. The pool MUST NOT alias it with any other lifetime in the same bucket.

