GPUValidationError
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimental: これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。
安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。
WebGPU API の GPUValidationError
インターフェイスは、操作が WebGPU API のバリデーションの制約を満たさなかったことを表すアプリケーションエラーを表現します。
これは、GPUDevice.popErrorScope
および uncapturederror
イベントで浮かび上がったエラーの型の一つを表します。
バリデーションエラーは、WebGPU の呼び出し時に無効な入力が与えられると常に発生します。これらは一貫性があり、予測可能で、正しく作られたアプリケーションでは発生しないはずです。これらはコードを実行するどのデバイスでも同じように発生するので、一旦開発中に現れたエラーをすべて修正したら、ほとんどの期間これらを直接観測しなくてよいでしょう。このルールの例外はユーザーが提供するアセットやシェーダーなどを用いる場合で、この場合は読み込み時のバリデーションエラーの監視が役立つでしょう。
メモ:
それが適切な場合、WebGPU のコードでバリデーションエラーが発生する理由を理解する助けとなる有用な情報を「バリデーション」節で提供しようとしています。これは、バリデーションエラーを回避するために満たすべき条件のリストです。例として、GPUDevice.createBindGroup()
の「バリデーション」節を見てください。
コンストラクター
GPUValidationError()
Experimental-
新しい
GPUValidationError
オブジェクトのインスタンスを生成します。
インスタンスプロパティ
例
以下の例では、エラースコープを用いてバリデーションエラーの可能性があるものをキャプチャし、コンソールに記録します。
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 |
ブラウザーの互換性
BCD tables only load in the browser