GPUPipelineError
注意:此功能在 Web Workers 中可用。
GPUPipelineError 介面是 WebGPU API 的一部分,用於描述管道(pipeline)的失敗。當 Promise 被 GPUDevice.createComputePipelineAsync() 或 GPUDevice.createRenderPipelineAsync() 呼叫拒絕時,就會接收到這個值。
建構函式
GPUPipelineError()-
建立一個新的
GPUPipelineError物件例項。
例項屬性
繼承其父級 DOMException 的屬性。
reason只讀-
一個列舉值,以機器可讀的方式定義了管道建立失敗的原因。
示例
在下面的程式碼片段中,我們嘗試使用 GPUDevice.createComputePipelineAsync() 建立一個 GPUComputePipeline。但是,我們錯誤地拼寫了計算管道的 entryPoint,將其寫成了 "maijn"(而它應該是 "main"),因此管道建立失敗,我們的 catch 塊將由此產生的 reason 和錯誤訊息列印到控制檯。
js
// …
let computePipeline;
try {
computePipeline = await device.createComputePipelineAsync({
layout: device.createPipelineLayout({
bindGroupLayouts: [bindGroupLayout],
}),
compute: {
module: shaderModule,
entryPoint: "maijn",
},
});
} catch (error) {
// error is a GPUPipelineError object instance
console.error(error.reason);
console.error(`Pipeline creation failed: ${error.message}`);
}
// …
在這種情況下,給定的 reason 是 "Validation",而 message 是 "Entry point "maijn" doesn't exist in the shader module [ShaderModule]."(入口點 "maijn" 在著色器模組 [ShaderModule] 中不存在。)
規範
| 規範 |
|---|
| WebGPU # gpupipelineerror |
瀏覽器相容性
載入中…