Skip to content

TgpuCommandEncoder

Defined in: packages/typegpu/src/core/commandEncoder/commandEncoder.ts:49

The TypeGPU equivalent of GPUCommandEncoder, for batching multiple passes (and draws within them) into a single submission.

const encoder = root['~unstable'].createCommandEncoder();
const pass = encoder.beginRenderPass({
colorAttachments: [{ view: msaaTexture, resolveTarget: context }],
});
scenePipeline.with(pass).draw(vertexCount);
skyPipeline.with(pass).draw(3);
pass.end();
encoder.submit();

For anything not covered by the typed surface (e.g. texture copies), grab the raw encoder via root.unwrap(encoder).

readonly [$internal]: CommandEncoderInternals

Defined in: packages/typegpu/src/core/commandEncoder/commandEncoder.ts:50


readonly resourceType: "command-encoder"

Defined in: packages/typegpu/src/core/commandEncoder/commandEncoder.ts:51

beginComputePass(descriptor?): TgpuComputePass

Defined in: packages/typegpu/src/core/commandEncoder/commandEncoder.ts:60

Begins recording a compute pass

TgpuComputePassDescriptor

TgpuComputePass


beginRenderPass(descriptor): TgpuRenderPass

Defined in: packages/typegpu/src/core/commandEncoder/commandEncoder.ts:57

Begins recording a render pass. Attachment views accept TypeGPU textures, texture views and canvas contexts, next to raw GPUTextureViews.

TgpuRenderPassDescriptor

TgpuRenderPass


finish(descriptor?): GPUCommandBuffer

Defined in: packages/typegpu/src/core/commandEncoder/commandEncoder.ts:69

Escape hatch: finishes the recording without submitting, for manual multi-encoder batching via device.queue.submit([...]).

GPUCommandBufferDescriptor

GPUCommandBuffer


submit(): void

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

Finishes the recording and submits the resulting command buffer to the device queue

void