GPUAdapter:features 属性
注意:此功能在 Web Workers 中可用。
GPUAdapter 接口的只读属性 features 返回一个 GPUSupportedFeatures 对象,该对象描述了适配器支持的附加功能。
您应该注意,并非所有支持 WebGPU 的浏览器都能使用所有功能,即使这些功能得到了底层硬件的支持。这可能是由于底层系统、浏览器或适配器的限制。例如:
- 底层系统可能无法保证以与特定浏览器兼容的方式公开某个功能。
- 浏览器供应商可能尚未找到一种安全的方式来实现对该功能的支持,或者可能尚未开始着手实现。
如果您希望在 WebGPU 应用中利用某个特定的附加功能,我们建议进行彻底的测试。
值
一个 GPUSupportedFeatures 对象实例。这是一个 类似 Set 的对象。
示例
在以下代码中,我们检查 GPUAdapter 是否具有 texture-compression-astc 功能。如果存在,我们将其添加到 requiredFeatures 数组中,并使用 GPUAdapter.requestDevice() 请求具有该功能要求的设备。
js
async function init() {
if (!navigator.gpu) {
throw Error("WebGPU not supported.");
}
const adapter = await navigator.gpu.requestAdapter();
if (!adapter) {
throw Error("Couldn't request WebGPU adapter.");
}
const requiredFeatures = [];
if (adapter.features.has("texture-compression-astc")) {
requiredFeatures.push("texture-compression-astc");
}
const device = await adapter.requestDevice({
requiredFeatures,
});
// …
}
规范
| 规范 |
|---|
| WebGPU # dom-gpuadapter-features |
浏览器兼容性
加载中…