GPURenderBundleEncoder: 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 GPURenderBundleEncoder-Schnittstelle schließt die Aufzeichnung der aktuellen Render-Bundle-Befehlssequenz ab und gibt ein GPURenderBundle-Objekt zurück, das in einen GPURenderPassEncoder.executeBundles()-Aufruf übergeben werden kann, um diese Befehle in einem spezifischen Render-Pass auszuführen.

Syntax

js
finish(descriptor)

Parameter

descriptor Optional

Ein Objekt mit den folgenden Eigenschaften:

label Optional

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

Rückgabewert

Eine Instanz des GPURenderBundle-Objekts.

Validierung

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

  • Der GPURenderBundleEncoder muss geöffnet sein (d.h. nicht bereits durch einen finish()-Aufruf beendet).
  • Der Debug-Stack für den aktuellen Render-Pass muss leer sein (d.h. keine Render-Pass-Debug-Gruppe ist 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