GPUBuffer: mapState-Eigenschaft

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig, bevor Sie diese produktiv verwenden.

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Hinweis: Dieses Feature ist verfügbar in Web Workers.

Die mapState schreibgeschützte Eigenschaft der GPUBuffer-Schnittstelle stellt den gemappten Zustand des GPUBuffer dar.

Wert

Ein enumerierter Wert. Mögliche Werte sind:

unmapped

Der Buffer ist nicht gemappt. GPUBuffer.getMappedRange() kann nicht verwendet werden, um auf den Inhalt des GPUBuffer in JavaScript zuzugreifen. Dies könnte der Fall sein, weil:

pending

Der Buffer ist noch nicht gemappt. GPUBuffer.mapAsync() wurde aufgerufen, aber sein Promise ist derzeit ausstehend. GPUBuffer.getMappedRange() kann derzeit nicht verwendet werden, um auf den Inhalt des GPUBuffer in JavaScript zuzugreifen.

mapped

Der Buffer ist gemappt. Der GPUBuffer.mapAsync() Promise wurde erfüllt, und GPUBuffer.getMappedRange() kann nun verwendet werden, um auf den Inhalt des GPUBuffer in JavaScript zuzugreifen.

Beispiele

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"

Spezifikationen

Specification
WebGPU
# dom-gpubuffer-mapstate

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch