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 vor der Verwendung auf produktiven Webseiten.

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

Hinweis: Diese Funktion ist in Web Workers verfügbar.

Die mapState-Eigenschaft der GPUBuffer-Schnittstelle, die nur gelesen werden kann, repräsentiert den zugeordneten Zustand des GPUBuffer.

Wert

Ein enumerierter Wert. Mögliche Werte sind:

unmapped

Der Buffer ist nicht zugeordnet. GPUBuffer.getMappedRange() kann nicht verwendet werden, um auf den Inhalt des GPUBuffer in JavaScript zuzugreifen. Dies könnte folgende Gründe haben:

pending

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

mapped

Der Buffer ist zugeordnet. Das GPUBuffer.mapAsync() Promise wurde erfüllt, und GPUBuffer.getMappedRange() kann jetzt 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

Siehe auch