GPUValidationError

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, bevor Sie diese produktiv verwenden.

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Hinweis: Dieses Feature ist verfügbar in Web Workers.

Die GPUValidationError-Schnittstelle der WebGPU API beschreibt einen Anwendungsfehler, der darauf hinweist, dass eine Operation die Validierungsbeschränkungen der WebGPU API nicht bestanden hat.

Sie stellt einen der Fehlertypen dar, die von GPUDevice.popErrorScope und dem uncapturederror-Ereignis angezeigt werden.

Validierungsfehler treten auf, wann immer ungültige Eingaben in einem WebGPU-Aufruf gegeben werden. Diese sind konsistent, vorhersagbar und sollten nicht auftreten, sofern Ihre App gut aufgebaut ist. Sie werden in gleicher Weise auf jedem Gerät auftreten, auf dem Ihr Code ausgeführt wird, sodass Sie wahrscheinlich die meiste Zeit keine direkte Beobachtung benötigen, sobald Sie alle Fehler, die während der Entwicklung auftreten, behoben haben. Eine Ausnahme von dieser Regel ist, wenn Sie vom Benutzer bereitgestellte Assets, Shader usw. verwenden, in diesem Fall kann es hilfreich sein, auf Validierungsfehler während des Ladevorgangs zu achten.

Hinweis: Wir haben versucht, nützliche Informationen bereitzustellen, die Ihnen helfen zu verstehen, warum Validierungsfehler in Ihrem WebGPU-Code auftreten, in "Validierungs"-Abschnitten, wo dies angebracht ist, die Kriterien auflisten, die erfüllt werden müssen, um Validierungsfehler zu vermeiden. Siehe zum Beispiel den GPUDevice.createBindGroup() Validierungsabschnitt.

GPUError GPUValidationError

Konstruktor

GPUValidationError() Experimentell

Erstellt eine neue Instanz des GPUValidationError-Objekts.

Instanz-Eigenschaften

Die message-Eigenschaft wird von ihrem Elternteil, GPUError, geerbt:

message Experimentell Nur lesbar

Ein String, der eine menschenlesbare Nachricht bereitstellt, die erklärt, warum der Fehler aufgetreten ist.

Beispiele

Das folgende Beispiel verwendet einen Fehlerbereich, um einen vermuteten Validierungsfehler zu erfassen und protokolliert ihn in der Konsole.

js
device.pushErrorScope("validation");

let sampler = device.createSampler({
  maxAnisotropy: 0, // Invalid, maxAnisotropy must be at least 1.
});

device.popErrorScope().then((error) => {
  if (error) {
    // error is a GPUValidationError object instance
    sampler = null;
    console.error(`An error occurred while creating sampler: ${error.message}`);
  }
});

Spezifikationen

Specification
WebGPU
# gpuvalidationerror

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch