Skip to content

ZenFG TypeScript API / webgpu / root / FrameGraphRecording

Interface: FrameGraphRecording

Defined in: packages/webgpu/src/types.ts:1178

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:1249

Declares inferred-access buffer clears.

Parameters

desc

ClearBufferNodeDesc

Returns

void


command()

command(desc): void

Defined in: packages/webgpu/src/types.ts:1251

Declares caller-defined commands encoded into a FrameGraph-owned segment.

Parameters

desc

CommandNodeDesc

Returns

void


compute()

compute(desc): void

Defined in: packages/webgpu/src/types.ts:1245

Declares a compute-pass node.

Parameters

desc

ComputePassNodeDesc

Returns

void


copy()

copy(desc): void

Defined in: packages/webgpu/src/types.ts:1247

Declares inferred-access copy operations.

Parameters

desc

CopyNodeDesc

Returns

void


createBuffer()

createBuffer(desc): BufferHandle

Defined in: packages/webgpu/src/types.ts:1209

Registers a transient buffer owned by this recording.

Parameters

desc

BufferDesc

Returns

BufferHandle


createTexture()

createTexture(desc): TextureHandle

Defined in: packages/webgpu/src/types.ts:1201

Registers a transient texture owned by this recording.

Parameters

desc

TextureDesc

Returns

TextureHandle

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:1205

Creates a logical view whose subresource selection participates in dependencies.

Parameters

texture

TextureHandle

desc?

TextureViewDesc

Returns

TextureViewHandle


externalSubmission()

externalSubmission(desc): void

Defined in: packages/webgpu/src/types.ts:1258

Declares an opaque caller-owned submission node; retained nodes split execution segments.

Parameters

desc

ExternalSubmissionNodeDesc

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:1211

Returns snapshotted metadata for a buffer owned by this recording.

Parameters

handle

BufferHandle

Returns

Readonly<BufferDesc>


getTextureDesc()

getTextureDesc(handle): Readonly<TextureDesc>

Defined in: packages/webgpu/src/types.ts:1203

Returns snapshotted metadata for a texture owned by this recording.

Parameters

handle

TextureHandle

Returns

Readonly<TextureDesc>


getTextureViewDesc()

getTextureViewDesc(handle): Readonly<NormalizedTextureViewDesc>

Defined in: packages/webgpu/src/types.ts:1207

Returns normalized metadata for a logical texture view.

Parameters

handle

TextureViewHandle

Returns

Readonly<NormalizedTextureViewDesc>


importBuffer()

importBuffer(buffer, options?): BufferHandle

Defined in: packages/webgpu/src/types.ts:1225

Borrows a caller-owned buffer with fixed identity for this recording.

Parameters

buffer

GPUBuffer

options?

ImportBufferOptions

Returns

BufferHandle


importSwapchainTexture()

importSwapchainTexture(texture, options?): TextureHandle

Defined in: packages/webgpu/src/types.ts:1223

Borrows the current swapchain texture; call markPresent() separately and execute the compiled frame while that borrowed texture remains current.

Parameters

texture

GPUTexture

options?

ImportSwapchainTextureOptions

Returns

TextureHandle


importTexture()

importTexture(texture, options?): TextureHandle

Defined in: packages/webgpu/src/types.ts:1218

Borrows a caller-owned texture with fixed identity for this recording.

Parameters

texture

GPUTexture

options?

ImportTextureOptions

Returns

TextureHandle

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:1280

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:1281

Parameters
buffer

BufferHandle

range

BufferRange

Returns

void


markOutput()

Call Signature

markOutput(resource): void

Defined in: packages/webgpu/src/types.ts:1269

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:1270

Parameters
buffer

BufferHandle

range

BufferRange

Returns

void


markPersistentState()

Call Signature

markPersistentState(resource): void

Defined in: packages/webgpu/src/types.ts:1272

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:1273

Parameters
buffer

BufferHandle

range

BufferRange

Returns

void


markPresent()

markPresent(resource): void

Defined in: packages/webgpu/src/types.ts:1260

Retains the final visible producer of a swapchain texture for presentation.

Parameters

resource

TextureHandle

Returns

void


markReadback()

markReadback(resource, range?): void

Defined in: packages/webgpu/src/types.ts:1278

Retains the final visible producer of a caller-owned staging buffer imported with graph-visible GPUBufferUsage.COPY_DST | GPUBufferUsage.MAP_READ.

Parameters

resource

BufferHandle

range?

BufferRange

Returns

void


popDebugGroup()

popDebugGroup(): void

Defined in: packages/webgpu/src/types.ts:1185

Closes the innermost diagnostic group.

Returns

void


pushDebugGroup()

pushDebugGroup(label): void

Defined in: packages/webgpu/src/types.ts:1183

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:1243

Declares a render-pass node.

Parameters

desc

RenderPassNodeDesc

Returns

void

Throws

If an attachment, declared use, or encode callback contract is invalid.


use()

Call Signature

use<TAccess>(resource, access): TextureUse<TAccess>

Defined in: packages/webgpu/src/types.ts:1227

Creates a reusable texture-read declaration resolved at each node that lists it.

Type Parameters
TAccess

TAccess extends TextureReadAccess

Parameters
resource

TextureHandle

access

TAccess

Returns

TextureUse<TAccess>

Call Signature

use<TAccess>(resource, access, options): TextureUse<TAccess>

Defined in: packages/webgpu/src/types.ts:1229

Creates a reusable texture-write declaration resolved at each node that lists it.

Type Parameters
TAccess

TAccess extends TextureWriteAccess

Parameters
resource

TextureHandle

access

TAccess

options

WriteUseOptions

Returns

TextureUse<TAccess>

Call Signature

use<TAccess>(resource, access): TextureViewUse<TAccess>

Defined in: packages/webgpu/src/types.ts:1231

Creates a reusable read declaration for a subresource-selecting logical view.

Type Parameters
TAccess

TAccess extends TextureViewReadAccess

Parameters
resource

TextureViewHandle

access

TAccess

Returns

TextureViewUse<TAccess>

Call Signature

use<TAccess>(resource, access, options): TextureViewUse<TAccess>

Defined in: packages/webgpu/src/types.ts:1233

Creates a reusable write declaration for a subresource-selecting logical view.

Type Parameters
TAccess

TAccess extends TextureViewWriteAccess

Parameters
resource

TextureViewHandle

access

TAccess

options

WriteUseOptions

Returns

TextureViewUse<TAccess>

Call Signature

use<TAccess>(resource, access, options?): BufferUse<TAccess>

Defined in: packages/webgpu/src/types.ts:1235

Creates a reusable buffer-read declaration and snapshots its optional byte range.

Type Parameters
TAccess

TAccess extends BufferReadAccess

Parameters
resource

BufferHandle

access

TAccess

options?

BufferUseOptions

Returns

BufferUse<TAccess>

Call Signature

use<TAccess>(resource, access, options): BufferUse<TAccess>

Defined in: packages/webgpu/src/types.ts:1237

Creates a reusable buffer-write declaration with range and content semantics.

Type Parameters
TAccess

TAccess extends BufferWriteAccess

Parameters
resource

BufferHandle

access

TAccess

options

BufferWriteUseOptions

Returns

BufferUse<TAccess>


withDebugGroup()

withDebugGroup<T>(label, record): T

Defined in: packages/webgpu/src/types.ts:1190

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

Open source / MIT licensed