GPURenderBundleEncoder: 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 GPURenderBundleEncoder-Schnittstelle beendet die Aufzeichnung der aktuellen Render-Bundle-Befehlsfolge und gibt ein GPURenderBundle-Objekt zurück. Dieses kann in einem Aufruf von GPURenderPassEncoder.executeBundles() übergeben werden, um diese Befehle in einem bestimmten Render-Pass auszuführen.

Syntax

js
finish(descriptor)

Parameter

descriptor Optional

Ein Objekt mit den folgenden Eigenschaften:

label Optional

Ein String, der ein Label bietet, das zur Identifizierung des Objekts verwendet werden kann, zum Beispiel in GPUError-Meldungen oder Konsolenwarnungen.

Rückgabewert

Eine Instanz des GPURenderBundle-Objekts.

Validierung

Folgende Kriterien müssen beim Aufruf von finish() erfüllt sein, andernfalls wird ein GPUValidationError erzeugt und der GPURenderBundleEncoder wird ungültig:

  • Der GPURenderBundleEncoder ist offen (d.h. nicht bereits durch einen finish()-Aufruf beendet).
  • Der Debug-Stack für den aktuellen Render-Pass ist leer (d.h. es ist keine Render-Pass-Debug-Gruppe derzeit geöffnet, wie sie durch pushDebugGroup() geöffnet wurde).

Beispiele

js
const renderBundleEncoder = device.createRenderBundleEncoder({
  colorFormats: [presentationFormat],
});
recordRenderPass(renderBundleEncoder);
const renderBundle = renderBundleEncoder.finish();

Der obige Codeausschnitt stammt aus dem WebGPU Samples Animometer-Beispiel.

Spezifikationen

Specification
WebGPU
# dom-gpurenderbundleencoder-finish

Browser-Kompatibilität

Siehe auch