GPUAdapter: features プロパティ
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimental: これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。
GPUAdapter
インターフェイスの読み取り専用プロパティ features
は、アダプターが対応している追加の機能を表現する GPUSupportedFeatures
オブジェクトを返します。
仮想のハードウェアで対応している機能であっても、対応するすべてのブラウザーの WebGPU ですべての機能が使用できるわけではないことに注意するべきです。これは、たとえば以下の場合など、仮想のシステム、ブラウザー、アダプターの制約によるものである可能性があります。
- 仮想のシステムがあるブラウザーと互換性がある方法で機能を利用可能にする保証ができないかもしれません。
- ブラウザーのベンダーが機能への対応を実装するセキュアな方法をまだ見つけられていないか、単に実装まで手が回っていないかもしれません。
WebGPU アプリケーションで特定の追加機能の恩恵を受けたい場合は、徹底的にテストすることが推奨されます。
値
GPUSupportedFeatures
オブジェクトのインスタンスです。これは Set 風オブジェクトです。
例
以下のコードでは、GPUAdapter
で texture-compression-astc
機能が利用可能かをチェックします。利用可能であれば、それを配列 requiredFeatures
にプッシュし、GPUAdapter.requestDevice()
でこの機能を要件としてデバイスを要求します。
async function init() {
if (!navigator.gpu) {
throw Error("WebGPU に対応していません。");
}
const adapter = await navigator.gpu.requestAdapter();
if (!adapter) {
throw Error("WebGPU アダプターを要求できませんでした。");
}
const requiredFeatures = [];
if (adapter.features.has("texture-compression-astc")) {
requiredFeatures.push("texture-compression-astc");
}
const device = await adapter.requestDevice({
requiredFeatures,
});
// ...
}
仕様書
Specification |
---|
WebGPU # dom-gpuadapter-features |
ブラウザーの互換性
BCD tables only load in the browser