ZenFG TypeScript API / webgpu / root / FrameGraphRecording
Interface: FrameGraphRecording
Defined in: packages/webgpu/src/types.ts:1285
Runtime-facing graph recording capability exposed to renderer features.
Handles are stable recording-local resource identities. Logical values are resolved from resource range and node recording position, not handle creation or use-token creation order.
Extended by
Methods
clearBuffer()
clearBuffer(
desc):void
Defined in: packages/webgpu/src/types.ts:1356
Declares inferred-access buffer clears.
Parameters
desc
Returns
void
command()
command(
desc):void
Defined in: packages/webgpu/src/types.ts:1358
Declares caller-defined commands encoded into a FrameGraph-owned segment.
Parameters
desc
Returns
void
compute()
compute(
desc):void
Defined in: packages/webgpu/src/types.ts:1352
Declares a compute-pass node.
Parameters
desc
Returns
void
copy()
copy(
desc):void
Defined in: packages/webgpu/src/types.ts:1354
Declares inferred-access copy operations.
Parameters
desc
Returns
void
createBuffer()
createBuffer(
desc,options?):BufferHandle
Defined in: packages/webgpu/src/types.ts:1316
Registers a transient buffer owned by this recording.
Parameters
desc
options?
Returns
createTexture()
createTexture(
desc,options?):TextureHandle
Defined in: packages/webgpu/src/types.ts:1308
Registers a transient texture owned by this recording.
Parameters
desc
options?
Returns
Remarks
The descriptor is snapshotted and physical allocation is deferred until execution.
Throws
If the descriptor is invalid, or the runtime/recorder is unusable.
createTextureView()
createTextureView(
texture,desc?):TextureViewHandle
Defined in: packages/webgpu/src/types.ts:1312
Creates a logical view whose subresource selection participates in dependencies.
Parameters
texture
desc?
Returns
externalSubmission()
externalSubmission(
desc):void
Defined in: packages/webgpu/src/types.ts:1365
Declares an opaque caller-owned submission node; retained nodes split execution segments.
Parameters
desc
Returns
void
Remarks
The callback is an ordering boundary, not a GPU-completion fence.
getBufferDesc()
getBufferDesc(
handle):Readonly<BufferDesc>
Defined in: packages/webgpu/src/types.ts:1318
Returns snapshotted metadata for a buffer owned by this recording.
Parameters
handle
Returns
Readonly<BufferDesc>
getTextureDesc()
getTextureDesc(
handle):Readonly<TextureDesc>
Defined in: packages/webgpu/src/types.ts:1310
Returns snapshotted metadata for a texture owned by this recording.
Parameters
handle
Returns
Readonly<TextureDesc>
getTextureViewDesc()
getTextureViewDesc(
handle):Readonly<NormalizedTextureViewDesc>
Defined in: packages/webgpu/src/types.ts:1314
Returns normalized metadata for a logical texture view.
Parameters
handle
Returns
Readonly<NormalizedTextureViewDesc>
importBuffer()
importBuffer(
buffer,options?):BufferHandle
Defined in: packages/webgpu/src/types.ts:1332
Borrows a caller-owned buffer with fixed identity for this recording.
Parameters
buffer
options?
Returns
importSwapchainTexture()
importSwapchainTexture(
texture,options?):TextureHandle
Defined in: packages/webgpu/src/types.ts:1330
Borrows the current swapchain texture; call markPresent() separately and execute the compiled frame while that borrowed texture remains current.
Parameters
texture
options?
Returns
importTexture()
importTexture(
texture,options?):TextureHandle
Defined in: packages/webgpu/src/types.ts:1325
Borrows a caller-owned texture with fixed identity for this recording.
Parameters
texture
options?
Returns
Remarks
Ownership and destruction remain with the caller.
Throws
If the exposure options conflict with the native texture.
markDebugCapture()
Call Signature
markDebugCapture(
resource):void
Defined in: packages/webgpu/src/types.ts:1387
Retains the final visible producer of a resource for debug capture.
Parameters
resource
TextureViewHandle | ResourceHandle
Returns
void
Call Signature
markDebugCapture(
buffer,range):void
Defined in: packages/webgpu/src/types.ts:1388
Parameters
buffer
range
Returns
void
markOutput()
Call Signature
markOutput(
resource):void
Defined in: packages/webgpu/src/types.ts:1376
Marks the final logical value of a texture or buffer as a required graph output.
This marker only retains the value's visible producers. It does not return, unwrap, transfer ownership of, or extend the execution lifetime of a transient physical resource. Post-execution access requires caller-owned imported storage.
Parameters
resource
TextureViewHandle | ResourceHandle
Returns
void
Call Signature
markOutput(
buffer,range):void
Defined in: packages/webgpu/src/types.ts:1377
Parameters
buffer
range
Returns
void
markPersistentState()
Call Signature
markPersistentState(
resource):void
Defined in: packages/webgpu/src/types.ts:1379
Retains the final producer of caller-owned state needed by a later frame.
Parameters
resource
TextureViewHandle | ResourceHandle
Returns
void
Call Signature
markPersistentState(
buffer,range):void
Defined in: packages/webgpu/src/types.ts:1380
Parameters
buffer
range
Returns
void
markPresent()
markPresent(
resource):void
Defined in: packages/webgpu/src/types.ts:1367
Retains the final visible producer of a swapchain texture for presentation.
Parameters
resource
Returns
void
markReadback()
markReadback(
resource,range?):void
Defined in: packages/webgpu/src/types.ts:1385
Retains the final visible producer of a caller-owned staging buffer imported with graph-visible GPUBufferUsage.COPY_DST | GPUBufferUsage.MAP_READ.
Parameters
resource
range?
Returns
void
popDebugGroup()
popDebugGroup():
void
Defined in: packages/webgpu/src/types.ts:1292
Closes the innermost diagnostic group.
Returns
void
pushDebugGroup()
pushDebugGroup(
label):void
Defined in: packages/webgpu/src/types.ts:1290
Opens a distinct diagnostic-only group for subsequently registered resources and nodes. Labels need not be unique.
Parameters
label
string
Returns
void
render()
render(
desc):void
Defined in: packages/webgpu/src/types.ts:1350
Declares a render-pass node.
Parameters
desc
Returns
void
Throws
If an attachment, native descriptor extras, declared use, or encode callback contract is invalid.
use()
Call Signature
use<
TAccess>(resource,access):TextureUse<TAccess>
Defined in: packages/webgpu/src/types.ts:1334
Creates a reusable texture-read declaration resolved at each node that lists it.
Type Parameters
TAccess
TAccess extends TextureReadAccess
Parameters
resource
access
TAccess
Returns
TextureUse<TAccess>
Call Signature
use<
TAccess>(resource,access,options):TextureUse<TAccess>
Defined in: packages/webgpu/src/types.ts:1336
Creates a reusable texture-write declaration resolved at each node that lists it.
Type Parameters
TAccess
TAccess extends TextureWriteAccess
Parameters
resource
access
TAccess
options
Returns
TextureUse<TAccess>
Call Signature
use<
TAccess>(resource,access):TextureViewUse<TAccess>
Defined in: packages/webgpu/src/types.ts:1338
Creates a reusable read declaration for a subresource-selecting logical view.
Type Parameters
TAccess
TAccess extends TextureViewReadAccess
Parameters
resource
access
TAccess
Returns
TextureViewUse<TAccess>
Call Signature
use<
TAccess>(resource,access,options):TextureViewUse<TAccess>
Defined in: packages/webgpu/src/types.ts:1340
Creates a reusable write declaration for a subresource-selecting logical view.
Type Parameters
TAccess
TAccess extends TextureViewWriteAccess
Parameters
resource
access
TAccess
options
Returns
TextureViewUse<TAccess>
Call Signature
use<
TAccess>(resource,access,options?):BufferUse<TAccess>
Defined in: packages/webgpu/src/types.ts:1342
Creates a reusable buffer-read declaration and snapshots its optional byte range.
Type Parameters
TAccess
TAccess extends BufferReadAccess
Parameters
resource
access
TAccess
options?
Returns
BufferUse<TAccess>
Call Signature
use<
TAccess>(resource,access,options):BufferUse<TAccess>
Defined in: packages/webgpu/src/types.ts:1344
Creates a reusable buffer-write declaration with range and content semantics.
Type Parameters
TAccess
TAccess extends BufferWriteAccess
Parameters
resource
access
TAccess
options
Returns
BufferUse<TAccess>
withDebugGroup()
withDebugGroup<
T>(label,record):T
Defined in: packages/webgpu/src/types.ts:1297
Runs synchronous recording work inside a distinct diagnostic-only group. Promise-like return values are rejected. Labels need not be unique.
Type Parameters
T
T
Parameters
label
string
record
() => T extends PromiseLike<unknown> ? never : T
Returns
T