GPUCommandEncoder: clearBuffer() method

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

Secure context: This feature is available only in secure contexts (HTTPS), in some or all supporting browsers.

Note: This feature is available in Web Workers.

The clearBuffer() method of the GPUCommandEncoder interface encodes a command that fills a region of a GPUBuffer with zeroes.

Syntax

js
clearBuffer(buffer)
clearBuffer(buffer, offset)
clearBuffer(buffer, offset, size)

Parameters

buffer

A GPUBuffer object representing the buffer to clear.

offset Optional

A number representing the offset, in bytes, from the start of the buffer to the sub-region to clear. If omitted, offset defaults to 0.

size Optional

A number representing the size, in bytes, of the sub-region to clear. If omitted, size defaults to the buffer size - offset.

Return value

None (Undefined).

Validation

The following criteria must be met when calling clearBuffer(), otherwise a GPUValidationError is generated and the GPUCommandEncoder becomes invalid:

  • The buffer's GPUBuffer.usage includes the GPUBufferUsage.COPY_DST flag.
  • offset and size are both multiples of 4.
  • The buffer's GPUBuffer.size is greater than or equal to offset + size.

Examples

js
// ...

const buffer = device.createBuffer({
  size: 1000,
  usage: GPUBufferUsage.MAP_READ | GPUBufferUsage.COPY_DST,
});

// Later on

const commandBuffer = device.createCommandEncoder();
commandEncoder.clearBuffer(buffer);

// ...

Specifications

Specification
WebGPU
# dom-gpucommandencoder-clearbuffer

Browser compatibility

BCD tables only load in the browser

See also