GPUCommandEncoder: clearBuffer() method

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

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

See also