GPUDevice: features 屬性
注意:此功能在 Web Workers 中可用。
GPUDevice 介面的只讀屬性 features 返回一個 GPUSupportedFeatures 物件,該物件描述了裝置支援的其他功能。該物件僅包含在建立裝置期間(即呼叫 GPUAdapter.requestDevice() 時)請求的功能。
注意: 即使底層硬體支援某些功能,並非所有支援 WebGPU 的瀏覽器都會提供這些功能。有關更多詳細資訊,請參閱 GPUAdapter.features。
值
一個 GPUSupportedFeatures 物件例項。這是一個 類似 Set 的物件。
示例
在以下程式碼中,我們檢查 GPUAdapter 是否可用 texture-compression-astc 功能。如果可用,我們將其新增到 requiredFeatures 陣列中,並使用 GPUAdapter.requestDevice() 請求具有該功能要求的裝置。
然後,我們將 GPUDevice.features 集合中的所有專案記錄到控制檯。此集合應該只包含一個專案 — texture-compression-astc — 因為在建立裝置時僅請求了此功能。
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,
});
device.features.forEach((value) => {
console.log(value);
});
// …
}
規範
| 規範 |
|---|
| WebGPU # dom-gpudevice-features |
瀏覽器相容性
載入中…