GPUCommandEncoder: finish()-Methode

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 finish()-Methode der GPUCommandEncoder-Schnittstelle vervollständigt die Aufzeichnung der auf diesem GPUCommandEncoder kodierten Befehlssequenz und gibt einen entsprechenden GPUCommandBuffer zurück.

Syntax

js
finish()
finish(descriptor)

Parameter

descriptor Optional

Ein Objekt, das die folgenden Eigenschaften enthalten kann:

label Optional

Ein String, der eine Bezeichnung für den zurückgegebenen GPUCommandBuffer bereitstellt, die genutzt werden kann, um diesen z. B. in GPUError-Nachrichten oder Konsolenwarnungen zu identifizieren.

Rückgabewert

Eine GPUCommandBuffer-Objektinstanz.

Validierung

Die folgenden Kriterien müssen erfüllt sein, wenn finish() aufgerufen wird. Andernfalls wird ein GPUValidationError generiert und der GPUCommandEncoder wird ungültig:

  • Es gibt keine aktiven Debug-Gruppen (d.h. gestartet über pushDebugGroup()).
  • Der GPUCommandEncoder befindet sich in einem offenen Zustand — das bedeutet:
    • Es sind keine untergeordneten GPUComputePassEncoder oder GPURenderPassEncoder aktiv, die nicht beendet wurden (durch Aufrufen von end()).
    • Auf dem GPUCommandEncoder wurde noch keine finish()-Methode aufgerufen (in diesem Fall kann er nicht mehr für die Kodierung weiterer Befehle verwendet werden).

Beispiele

js
// …

const commandBuffer = commandEncoder.finish();
device.queue.submit([commandBuffer]);

// …

Spezifikationen

Specification
WebGPU
# dom-gpucommandencoder-finish

Browser-Kompatibilität

Siehe auch