This can only happen once the
GPUBuffer has been successfully mapped with
GPUBuffer.mapAsync() (this can be checked via
GPUBuffer.mapState). While the
GPUBuffer is mapped it cannot be used in any GPU commands.
When you have finished working with the
GPUBuffer values, call
GPUBuffer.unmap() to unmap it, making it accessible to the GPU again.
getMappedRange() getMappedRange(offset) getMappedRange(offset, size)
A number representing the offset, in bytes, from the start of the
GPUBuffer's mapped range to the start of the range to be returned in the
offsetis omitted, it defaults to 0.
A number representing the size, in bytes, of the
ArrayBufferto return. If
sizeis omitted, the range extends to the end of the
GPUBuffer's mapped range.
The following criteria must be met when calling
getMappedRange(), otherwise an
DOMException is thrown:
offsetis a multiple of 8.
- The total range to be mapped (
sizeif specified, or mapped range length -
offsetif not) is a multiple of 4.
- The total range is inside the bounds of the mapped range and does not overlap with the
ArrayBufferranges specified by any other active
See the main
GPUBuffer page for an example.
BCD tables only load in the browser
- The WebGPU API