Skip to content

TgpuComputePass

Defined in: packages/typegpu/src/core/commandEncoder/computePass.ts:53

A compute pass recording into a TgpuCommandEncoder.

Dispatch either by binding TypeGPU pipelines to it (pipeline.with(pass).dispatchWorkgroups(...)), or proxy-style via pass.setPipeline(pipeline) followed by pass.dispatchWorkgroups(...).

Call end() when done recording.

readonly [$internal]: ComputePassInternals

Defined in: packages/typegpu/src/core/commandEncoder/computePass.ts:54


readonly resourceType: "compute-pass"

Defined in: packages/typegpu/src/core/commandEncoder/computePass.ts:55

dispatchWorkgroups(x, y?, z?): void

Defined in: packages/typegpu/src/core/commandEncoder/computePass.ts:68

number

number

number

void


dispatchWorkgroupsIndirect<T>(indirectBuffer, start?): void

Defined in: packages/typegpu/src/core/commandEncoder/computePass.ts:78

Dispatches compute workgroups using parameters read from a buffer. The buffer must contain 3 consecutive u32 values (x, y, z workgroup counts). To get the correct offset within complex data structures, use d.memoryLayoutOf(...).

T extends AnyWgslData

Buffer marked with ‘indirect’ usage containing dispatch parameters or raw GPUBuffer

GPUBuffer | TgpuBuffer<T> & IndirectFlag

PrimitiveOffsetInfo pointing to the first dispatch parameter. If not provided, starts at offset 0. To obtain safe offsets, use d.memoryLayoutOf(...).

number | PrimitiveOffsetInfo

void


end(): void

Defined in: packages/typegpu/src/core/commandEncoder/computePass.ts:84

Completes the recording of this compute pass

void


setBindGroup(bindGroup): void

Defined in: packages/typegpu/src/core/commandEncoder/computePass.ts:61

Associates a bind group with the layout it was created from

TgpuBindGroup

void

setBindGroup<Entries>(bindGroupLayout, bindGroup): void

Defined in: packages/typegpu/src/core/commandEncoder/computePass.ts:63

Associates a bind group with the given layout

Entries extends Record<string, TgpuLayoutEntry | null>

TgpuBindGroupLayout<Entries>

GPUBindGroup | TgpuBindGroup<Entries>

void


setPipeline(pipeline): void

Defined in: packages/typegpu/src/core/commandEncoder/computePass.ts:58

Sets the current TgpuComputePipeline for subsequent dispatches

TgpuComputePipeline

void