web api instance method
GPUBuffer: getMappedRange() method
Secure contextAvailable in workers
The getMappedRange() method of the
GPUBuffer interface returns an ArrayBuffer containing the mapped contents of the GPUBuffer in the specified range.
This can only happen once the GPUBuffer has been successfully mapped with mapAsync() (this can be checked via mapState). While the GPUBuffer is mapped it cannot be used in any GPU commands.
When you have finished working with the GPUBuffer values, call unmap() to unmap it, making it accessible to the GPU again. A TypeError is thrown if an attempt is made to detach the ArrayBuffer in any way other than via unmap(), such as by calling transfer().
Syntax
getMappedRange()
getMappedRange(offset)
getMappedRange(offset, size)
Parameters
offsetOptional- : 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 theArrayBuffer. Ifoffsetis omitted, it defaults to 0.
- : A number representing the offset, in bytes, from the start of the
sizeOptional- : A number representing the size, in bytes, of the
ArrayBufferto return. Ifsizeis omitted, the range extends to the end of theGPUBuffer’s mapped range.
- : A number representing the size, in bytes, of the
Return value
An ArrayBuffer.
Validation
The following criteria must be met when calling getMappedRange(), otherwise an OperationError 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 activegetMappedRange()calls.
Examples
See the main GPUBuffer page for an example.
Specifications
Browser compatibility
See also
- The WebGPU API