files/en-us/web/api/gpucommandencoder/clearbuffer/index.md
{{APIRef("WebGPU API")}}{{SecureContext_Header}}{{AvailableInWorkers}}
The clearBuffer() method of the
{{domxref("GPUCommandEncoder")}} interface encodes a command that fills a region of a {{domxref("GPUBuffer")}} with zeroes.
clearBuffer(buffer)
clearBuffer(buffer, offset)
clearBuffer(buffer, offset, size)
buffer
offset {{optional_inline}}
buffer to the sub-region to clear. If omitted, offset defaults to 0.size {{optional_inline}}
size defaults to the buffer size - offset.None ({{jsxref("Undefined")}}).
The following criteria must be met when calling clearBuffer(), otherwise a {{domxref("GPUValidationError")}} is generated and the {{domxref("GPUCommandEncoder")}} becomes invalid:
buffer's {{domxref("GPUBuffer.usage")}} includes the GPUBufferUsage.COPY_DST flag.offset and size are both multiples of 4.buffer's {{domxref("GPUBuffer.size")}} is greater than or equal to offset + size.// …
const buffer = device.createBuffer({
size: 1000,
usage: GPUBufferUsage.MAP_READ | GPUBufferUsage.COPY_DST,
});
// Later on
const commandBuffer = device.createCommandEncoder();
commandEncoder.clearBuffer(buffer);
// …
{{Specifications}}
{{Compat}}