GPUBuffer: getMappedRange() 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 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 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. A TypeError is thrown if an attempt is made to detach the ArrayBuffer in any way other than via GPUBuffer.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. 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.
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
| Specification |
|---|
| WebGPU> # dom-gpubuffer-getmappedrange> |
Browser compatibility
Loading…
See also
- The WebGPU API