1. 開発者向けのウェブ技術
  2. Web API
  3. GPUPipelineError

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

GPUPipelineError

利用可能性は限定的

この機能はベースラインではありません。最も広く使用されているブラウザーの一部で動作しません。

Want more support for this feature? Tell us why.

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

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

WebGPU APIGPUPipelineError インターフェイスは、パイプラインの失敗を表現します。これは、GPUDevice.createComputePipelineAsync()GPUDevice.createRenderPipelineAsync() から返された Promise が拒否されたとき渡される値です。

DOMException GPUPipelineError

コンストラクター

GPUPipelineError()

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

インスタンスプロパティ

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

reason 読取専用

パイプラインの生成に失敗した理由を機械可読な形式で表す列挙値です。

以下のスニペットでは、GPUDevice.createComputePipelineAsync() を用いて GPUComputePipeline を生成しようとしています。しかし、コンピュートパイプラインの entryPoint を ("main" とするべきなのに) "maijn" とスペルミスしているので、パイプラインの生成に失敗し、catch ブロックで処理結果の理由とエラーメッセージをコンソールに出力します。

js
// ...
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]." です。

仕様書

仕様書
WebGPU
# gpupipelineerror

ブラウザーの互換性

関連情報

MDN の改良に協力

協力方法を知る

このページは MDN の貢献者によって に最終更新されました。

AltStyle によって変換されたページ (->オリジナル) /