GPUBuffer: getMappedRange() method
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.
Syntax
getMappedRange()
getMappedRange(offset)
getMappedRange(offset, size)
Parameters
offset
Optional
-
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 ArrayBuffer
. If offset
is omitted, it defaults to 0.
size
Optional
-
A number representing the size, in bytes, of the ArrayBuffer
to return. If size
is omitted, the range extends to the end of the GPUBuffer
's mapped range.
Return value
Validation
The following criteria must be met when calling getMappedRange()
, otherwise an OperationError
DOMException
is thrown:
offset
is a multiple of 8.
- The total range to be mapped (
size
if specified, or mapped range length - offset
if not) is a multiple of 4.
- The total range is inside the bounds of the mapped range and does not overlap with the
ArrayBuffer
ranges specified by any other active getMappedRange()
calls.
Exceptions
TypeError
DOMException
-
Thrown if an attempt is made to detach the ArrayBuffer
in any way other than via GPUBuffer.unmap()
.
Examples
See the main GPUBuffer
page for an example.
Specifications
Browser compatibility
|
Desktop |
Mobile |
|
Chrome |
Edge |
Firefox |
Internet Explorer |
Opera |
Safari |
WebView Android |
Chrome Android |
Firefox for Android |
Opera Android |
Safari on IOS |
Samsung Internet |
getMappedRange |
113Currently supported on ChromeOS, macOS, and Windows only.
|
113Currently supported on ChromeOS, macOS, and Windows only.
|
previewCurrently supported on Linux and Windows only.
|
No |
99Currently supported on ChromeOS, macOS, and Windows only.
|
No |
No |
No |
No |
No |
No |
No |
See also