GPUValidationError
WebGPU API 的 GPUValidationError
接口描述了一个应用程序错误,指示操作未通过 WebGPU API 的验证约束。
它表示 GPUDevice.popErrorScope
和 uncapturederror
事件所引发的几种错误类型之一。
只要向 WebGPU 调用提供无效输入,就会发生验证错误。这些错误是一致的、可预测的,并且只要您的应用程序格式正确,就不应该发生。它们将在您的代码运行的每台设备上以相同的方式发生,因此一旦您修复了开发过程中显示的所有错误,您很可能不需要大部分时间直接观察它们。该规则的一个例外是,如果您使用用户提供的资产、着色器等,在这种情况下,在加载时监视验证错误可能会有所帮助。
注意:我们已尝试提供有用的信息,以帮助您了解为什么在您的 WebGPU 代码中发生了验证错误,并在适当情况下提供“验证”部分,其中列出了为避免验证错误而需要满足的标准。例如,请参阅 GPUDevice.createBindGroup()
验证部分。
构造函数
GPUValidationError()
实验性-
创建一个新的
GPUValidationError
对象实例。
实例属性
示例
以下示例使用错误范围来捕获一个疑似的验证错误,并将其记录到控制台。
js
device.pushErrorScope("validation");
let sampler = device.createSampler({
maxAnisotropy: 0, // Invalid, maxAnisotropy must be at least 1.
});
device.popErrorScope().then((error) => {
if (error) {
// error is a GPUValidationError object instance
sampler = null;
console.error(`An error occurred while creating sampler: ${error.message}`);
}
});
规范
规范 |
---|
WebGPU # gpuvalidationerror |
浏览器兼容性
BCD 表格仅在浏览器中加载