GPUPipelineError
GPUPipelineError
是 WebGPU API 中的一个接口,用于描述管道故障。当 Promise
(由 GPUDevice.createComputePipelineAsync()
或 GPUDevice.createRenderPipelineAsync()
调用返回)被拒绝时,会接收到此值。
构造函数
GPUPipelineError()
实验性-
创建一个新的
GPUPipelineError
对象实例。
实例属性
继承自其父级 DOMException
的属性。
reason
实验性 只读-
一个枚举值,以机器可读的方式定义管道创建失败的原因。
示例
在以下代码片段中,我们尝试使用 GPUDevice.createComputePipelineAsync()
创建一个 GPUComputePipeline
。但是,我们错误地将计算管道 entryPoint
拼写为 "maijn"
(应为 "main"
),因此管道创建失败,并且我们的 catch
代码块将结果原因和错误消息打印到控制台。
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]."
。
规范
规范 |
---|
WebGPU # gpupipelineerror |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。