GPUPipelineError
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.
Das GPUPipelineError
-Interface der WebGPU API beschreibt einen Pipeline-Fehler. Dies ist der Wert, den man erhält, wenn ein von einem Promise
zurückgegebenes Versprechen von GPUDevice.createComputePipelineAsync()
oder GPUDevice.createRenderPipelineAsync()
abgelehnt wird.
Konstruktor
GPUPipelineError()
-
Erstellt eine neue Instanz eines
GPUPipelineError
-Objekts.
Instanz-Eigenschaften
Erbt Eigenschaften von seinem Elternteil, DOMException
.
reason
Schreibgeschützt-
Ein enumerierter Wert, der den Grund für das Fehlschlagen der Pipeline-Erstellung in maschinenlesbarer Form definiert.
Beispiele
Im folgenden Codebeispiel versuchen wir, eine GPUComputePipeline
unter Verwendung von GPUDevice.createComputePipelineAsync()
zu erstellen. Allerdings haben wir unseren Compute-Pipeline-entryPoint
falsch als "maijn"
(es sollte "main"
sein) buchstabiert, wodurch die Pipeline-Erstellung fehlschlägt, und unser catch
-Block gibt den resultierenden Grund und die Fehlermeldung in der Konsole aus.
// …
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 angegebene reason
"Validation"
, und die message
lautet "Entry point "maijn" doesn't exist in the shader module [ShaderModule]."
Spezifikationen
Specification |
---|
WebGPU # gpupipelineerror |