GPUInternalError
Experimental: これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。
安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。
WebGPU API の GPUInternalError
インターフェイスは、バリデーションの要求がすべて満たされたにもかかわらずシステムまたは実装に固有の理由で処理に失敗したことを表すアプリケーションエラーを表します。
これは、GPUDevice.popErrorScope
および uncapturederror
イベントで浮かび上がったエラーの型の一つを表します。
内部エラーは、バリデーションに引っかからず、アウトオブメモリーエラーであると明確に特定できない何かが WebGPU の実装で起きたとき発生します。これは、一般的に、コードが実行しようとした処理が WebGPU で対応している制限で表すのが難しい点でシステムの制限に引っかかったことを示します。同じ処理は、他のデバイスでは成功するかもしれません。このようなエラーはパイプラインの生成でのみ発生し、通常はシェーダーがデバイスにとって複雑すぎるとき発生します。
コンストラクター
GPUInternalError()
Experimental-
新しい
GPUInternalError
オブジェクトのインスタンスを生成します。
インスタンスプロパティ
例
以下の例では、エラースコープを用いてバリデーションエラーだと疑われるものをキャプチャし、コンソールに記録します。
js
device.pushErrorScope("internal");
const module = device.createShaderModule({
code: shader, // **非常に**複雑なシェーダー
});
device.popErrorScope().then((error) => {
if (error) {
// error は GPUInternalError オブジェクトのインスタンス
module = null;
console.error(`シェーダーの作成時にエラー発生: ${error.message}`);
}
});
仕様書
Specification |
---|
WebGPU # gpuinternalerror |
ブラウザーの互換性
BCD tables only load in the browser