此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

WGSLLanguageFeatures

有限可用

此特性不属于基线,因为它尚未在主流浏览器中得到支持。

实验性: 这是一项实验性技术
在将其用于生产之前,请仔细检查浏览器兼容性表格

安全上下文: 此特性仅在一些支持的浏览器安全上下文(HTTPS)中可用。

WebGPU APIWGSLLanguageFeatures 接口是类集合对象,用于报告 WebGPU 实现支持的 WGSL 语言扩展

WGSLLanguageFeatures 对象可通过 GPU.wgslLanguageFeatures 属性访问。

备注:并非所有 WGSL 语言扩展在支持 WebGPU API 的所有浏览器中都可用。我们建议你对选择使用的任何扩展程序进行彻底测试。

可用特性

可用的 WGSL 语言扩展可能因实现和物理设备的不同而不同,也可能随着时间的推移而变化;因此,我们没有在此列出。有关完整列表,请参阅 WGSL 规范中的 WGSL 语言扩展

实例属性

以下属性适用于所有只读类集合对象:

size

返回集合中的值的数量。

实例方法

以下方法适用于所有只读类集合对象:

has()

返回用于判断集合中是否存在具有给定值的元素的布尔值。

values()

返回按插入顺序为集合中的每个元素生成的新的迭代器对象。

keys()

values() 的别名。

entries()

返回该对象按插入顺序包含集合中每个元素的 [value, value] 的数组的新的迭代器对象。

forEach()

按插入顺序对集合中的每个值调用一次提供的回调函数。

示例

js
if (!navigator.gpu) {
  throw Error("不支持 WebGPU。");
}

const wgslFeatures = navigator.gpu.wgslLanguageFeatures;

// 返回集合的大小
console.log(wgslFeatures.size);

// 使用 values() 遍历所有集合值
const valueIterator = wgslFeatures.values();
for (const value of valueIterator) {
  console.log(value);
}

// ...

规范

规范
WebGPU
# gpuwgsllanguagefeatures

浏览器兼容性

参见