GPUCommandEncoder: clearBuffer() method
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
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
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 thebuffer
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
'sGPUBuffer.usage
includes theGPUBufferUsage.COPY_DST
flag. offset
andsize
are both multiples of 4.- The
buffer
'sGPUBuffer.size
is greater than or equal tooffset
+size
.
Examples
// ...
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
- The WebGPU API