GPUPipelineError
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimental: これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。
安全なコンテキスト用: この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。
WebGPU API の GPUPipelineError インターフェイスは、パイプラインの失敗を表現します。これは、GPUDevice.createComputePipelineAsync() や GPUDevice.createRenderPipelineAsync() から返された Promise が拒否されたとき渡される値です。
コンストラクター
GPUPipelineError()Experimental-
新しい
GPUPipelineErrorオブジェクトのインスタンスを生成します。
インスタンスプロパティ
親の DOMException からプロパティを継承します。
reasonExperimental 読取専用-
パイプラインの生成に失敗した理由を機械可読な形式で表す列挙値です。
例
以下のスニペットでは、GPUDevice.createComputePipelineAsync() を用いて GPUComputePipeline を生成しようとしています。しかし、コンピュートパイプラインの entryPoint を ("main" とするべきなのに) "maijn" とスペルミスしているので、パイプラインの生成に失敗し、catch ブロックで処理結果の理由とエラーメッセージをコンソールに出力します。
// ... let computePipeline; try { computePipeline = await device.createComputePipelineAsync({ layout: device.createPipelineLayout({ bindGroupLayouts: [bindGroupLayout], }), compute: { module: shaderModule, entryPoint: "maijn", }, }); } catch (error) { // error は GPUPipelineError オブジェクトのインスタンス console.error(error.reason); console.error(`パイプラインの生成に失敗: ${error.message}`); } // ... この場合、得られる reason は "Validation" で、message は "Entry point "maijn" doesn't exist in the shader module [ShaderModule]." です。
仕様書
| Specification |
|---|
| WebGPU> # gpupipelineerror> |