GPUValidationError

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimental: これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

WebGPU APIGPUValidationError インターフェイスは、操作が WebGPU API のバリデーションの制約を満たさなかったことを表すアプリケーションエラーを表現します。

これは、GPUDevice.popErrorScope および uncapturederror イベントで浮かび上がったエラーの型の一つを表します。

バリデーションエラーは、WebGPU の呼び出し時に無効な入力が与えられると常に発生します。これらは一貫性があり、予測可能で、正しく作られたアプリケーションでは発生しないはずです。これらはコードを実行するどのデバイスでも同じように発生するので、一旦開発中に現れたエラーをすべて修正したら、ほとんどの期間これらを直接観測しなくてよいでしょう。このルールの例外はユーザーが提供するアセットやシェーダーなどを用いる場合で、この場合は読み込み時のバリデーションエラーの監視が役立つでしょう。

メモ: それが適切な場合、WebGPU のコードでバリデーションエラーが発生する理由を理解する助けとなる有用な情報を「バリデーション」節で提供しようとしています。これは、バリデーションエラーを回避するために満たすべき条件のリストです。例として、GPUDevice.createBindGroup() の「バリデーション」節を見てください。

GPUError GPUValidationError

コンストラクター

GPUValidationError() Experimental

新しい GPUValidationError オブジェクトのインスタンスを生成します。

インスタンスプロパティ

親の GPUError から message プロパティを継承します。

message Experimental 読取専用

なぜエラーが起きたのかを説明する人間向けのメッセージを提供する文字列です。

以下の例では、エラースコープを用いてバリデーションエラーの可能性があるものをキャプチャし、コンソールに記録します。

js
device.pushErrorScope("validation");

let sampler = device.createSampler({
  maxAnisotropy: 0, // 無効、maxAnisotropy は 1 以上でなければならない
});

device.popErrorScope().then((error) => {
  if (error) {
    // error は GPUValidationError オブジェクトのインスタンス
    sampler = null;
    console.error(`サンプラーの生成時にエラー発生: ${error.message}`);
  }
});

仕様書

Specification
WebGPU
# gpuvalidationerror

ブラウザーの互換性

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
GPUValidationError
Experimental
GPUValidationError() constructor
Experimental

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
Partial support
Partial support
In development. Supported in a pre-release version.
In development. Supported in a pre-release version.
No support
No support
Experimental. Expect behavior to change in the future.
See implementation notes.
User must explicitly enable this feature.
Has more compatibility info.

関連情報