Class: TransientResourceRegistry
Defined in: src/gfx/renderJob/graph/transient/TransientResourceRegistry.ts:50
Per-graph collector for transient resource declarations and access hints. Lives on the RenderGraph as _transient. Populated during each pass's setup() (through RenderGraphBuilder), consumed by LifetimeAnalyzer inside RenderGraph.compile().
Plain pass b.read(name) / b.write(name) (without an access hint and without a TextureHandle/BufferHandle target) still flow through the legacy RenderGraphResourcePool and never touch this registry — the new API is fully opt-in.
Constructors
Constructor
new TransientResourceRegistry():
TransientResourceRegistry
Returns
TransientResourceRegistry
Accessors
declarations
Get Signature
get declarations():
ReadonlyMap<string,TransientResourceDeclaration>
Defined in: src/gfx/renderJob/graph/transient/TransientResourceRegistry.ts:158
Read-only view of registered declarations.
Returns
ReadonlyMap<string, TransientResourceDeclaration>
Methods
declareTexture()
declareTexture(
name,desc,creatorPass):void
Defined in: src/gfx/renderJob/graph/transient/TransientResourceRegistry.ts:64
Register a transient texture declaration.
Parameters
name
string
desc
creatorPass
string
Returns
void
Throws
if name has already been declared (single-creator).
declareBuffer()
declareBuffer(
name,desc,creatorPass):void
Defined in: src/gfx/renderJob/graph/transient/TransientResourceRegistry.ts:79
Register a transient buffer declaration.
Parameters
name
string
desc
creatorPass
string
Returns
void
Throws
if name has already been declared (single-creator).
importExternalTexture()
importExternalTexture(
name,tex,creatorPass):void
Defined in: src/gfx/renderJob/graph/transient/TransientResourceRegistry.ts:96
Register an externally-owned texture as a persistent resource. The pool will not allocate, will not alias, and will not destroy the underlying GPU texture. getTexture(name) returns tex verbatim.
Parameters
name
string
tex
RenderTexture
creatorPass
string
Returns
void
importExternalBuffer()
importExternalBuffer(
name,buf,creatorPass):void
Defined in: src/gfx/renderJob/graph/transient/TransientResourceRegistry.ts:124
Register an externally-owned GPU buffer as a persistent resource.
Parameters
name
string
buf
GPUBufferBase
creatorPass
string
Returns
void
recordAccessHint()
recordAccessHint(
name,kind,hint,mode):void
Defined in: src/gfx/renderJob/graph/transient/TransientResourceRegistry.ts:151
Record one read / write / readWrite access hint for a resource. Hint bits are OR'd into the per-name hint usage map; the analyzer combines this with the desc's usage (when 'auto') to produce the final allocation usage.
Targets that aren't registered in this registry are silently ignored — they're legacy b.write(name, getter) resources that live in RenderGraphResourcePool only and don't participate in transient allocation.
Parameters
name
string
kind
hint
mode
"read" | "write"
Returns
void
hintUsageOf()
hintUsageOf(
name):number
Defined in: src/gfx/renderJob/graph/transient/TransientResourceRegistry.ts:163
Per-name unioned usage contribution from access hints.
Parameters
name
string
Returns
number
has()
has(
name):boolean
Defined in: src/gfx/renderJob/graph/transient/TransientResourceRegistry.ts:167
Parameters
name
string
Returns
boolean
get()
get(
name):TransientResourceDeclaration
Defined in: src/gfx/renderJob/graph/transient/TransientResourceRegistry.ts:171
Parameters
name
string
Returns
TransientResourceDeclaration
unregister()
unregister(
name):void
Defined in: src/gfx/renderJob/graph/transient/TransientResourceRegistry.ts:181
Drop the declaration + access hints for name. Called from RenderGraph.remove() / RenderGraph.replace() so a re-added pass can re-declare its outputs without tripping the single-creator check.
Parameters
name
string
Returns
void
dispose()
dispose():
void
Defined in: src/gfx/renderJob/graph/transient/TransientResourceRegistry.ts:190
Drop every declaration and hint. Called on graph destroy and device-lost.
Returns
void

