GPUCommandEncoder: finish()-Methode

Limited availability

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

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 schließt die Aufzeichnung der auf diesem GPUCommandEncoder codierten Befehlssequenz ab 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 angibt, die zur Identifizierung verwendet werden kann, zum Beispiel in GPUError-Meldungen oder Konsolenwarnungen.

Rückgabewert

Eine Instanz des GPUCommandBuffer-Objekts.

Validierung

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

  • Es dürfen keine aktiven Debug-Gruppen vorhanden sein (d.h. gestartet über pushDebugGroup()).
  • Der GPUCommandEncoder muss sich in einem offenen Zustand befinden — das bedeutet:
    • Es dürfen keine untergeordneten GPUComputePassEncoder- oder GPURenderPassEncoder-Instanzen aktiv sein, die nicht beendet wurden (durch Aufruf von end()).
    • Der GPUCommandEncoder darf noch nicht finish() aufgerufen haben (in diesem Fall kann er nicht mehr zum Kodieren 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