值
這是一個列舉值。可能的值有:
未對映 (unmapped)-
緩衝區未被對映。無法使用
GPUBuffer.getMappedRange()在 JavaScript 中訪問GPUBuffer的內容。這可能是因為:GPUBuffer.mapAsync()尚未被呼叫。GPUBuffer曾被對映,但隨後又透過GPUBuffer.unmap()被取消對映。
pending-
緩衝區尚未對映。已經呼叫了
GPUBuffer.mapAsync(),但其Promise當前處於待定狀態。目前無法使用GPUBuffer.getMappedRange()在 JavaScript 中訪問GPUBuffer的內容。 已對映 (mapped)-
緩衝區已被對映。
GPUBuffer.mapAsync()的Promise已經 fulfilled,現在可以使用GPUBuffer.getMappedRange()在 JavaScript 中訪問GPUBuffer的內容。
示例
js
const stagingBuffer = device.createBuffer({
size: BUFFER_SIZE,
usage: GPUBufferUsage.MAP_READ | GPUBufferUsage.COPY_DST,
});
console.log(stagingBuffer.mapState); // "unmapped"
// …
await stagingBuffer.mapAsync(
GPUMapMode.READ,
0, // Offset
BUFFER_SIZE, // Length
);
console.log(stagingBuffer.mapState); // "mapped"
規範
| 規範 |
|---|
| WebGPU # dom-gpubuffer-mapstate |
瀏覽器相容性
載入中…