GPUPipelineError

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 GPUPipelineError-Schnittstelle der WebGPU API beschreibt einen Pipeline-Fehler. Dies ist der Wert, der empfangen wird, wenn ein von einem GPUDevice.createComputePipelineAsync() oder GPUDevice.createRenderPipelineAsync() zurückgegebenes Promise abgelehnt wird.

DOMException GPUPipelineError

Konstruktor

GPUPipelineError() Experimentell

Erstellt eine neue Instanz des GPUPipelineError-Objekts.

Instanz-Eigenschaften

Erbt Eigenschaften von seinem Elternobjekt, DOMException.

reason Experimentell Schreibgeschützt

Ein enumerierter Wert, der den Grund für das Scheitern der Pipeline-Erstellung in einer maschinenlesbaren Weise definiert.

Beispiele

Im folgenden Beispiel versuchen wir, eine GPUComputePipeline mit GPUDevice.createComputePipelineAsync() zu erstellen. Wir haben jedoch unseren entryPoint der Compute-Pipeline fälschlicherweise als "maijn" geschrieben (es sollte "main" sein), daher schlägt die Pipeline-Erstellung fehl, und unser catch-Block gibt den resultierenden Grund und die Fehlermeldung in der Konsole aus.

js
// ...

let computePipeline;

try {
  computePipeline = await device.createComputePipelineAsync({
    layout: device.createPipelineLayout({
      bindGroupLayouts: [bindGroupLayout],
    }),
    compute: {
      module: shaderModule,
      entryPoint: "maijn",
    },
  });
} catch (error) {
  // error is a GPUPipelineError object instance
  console.error(error.reason);
  console.error(`Pipeline creation failed: ${error.message}`);
}

// ...

In diesem Fall ist der gegebene reason "Validation" und die message lautet "Entry point "maijn" doesn't exist in the shader module [ShaderModule]."

Spezifikationen

Specification
WebGPU
# gpupipelineerror

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch