Spec-Zone.ru › Web APIs

GPUDevice: свойство features

Ограниченная доступность

Эта функция не является базовой, так как она не работает в некоторых из самых широко используемых браузеров.

  • Узнать больше
  • Полная совместимость
  • Отправить отзыв

Экспериментальный: Это экспериментальная технология
Тщательно проверьте таблицу совместимости браузеров перед использованием в производстве.

Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или во всех поддерживающих браузерах.

Примечание: Эта функция доступна в Web Workers.

Чтение только свойство features интерфейса GPUDevice возвращает объект GPUSupportedFeatures, который описывает дополнительную функциональность, поддерживаемую устройством. Только те функции, которые были запрошены при создании устройства (т. е. когда вызывается GPUAdapter.requestDevice()), включены.

Примечание: Не все функции будут доступны WebGPU во всех браузерах, которые его поддерживают, даже если эти функции поддерживаются базовым оборудованием. См. GPUAdapter.features для получения более подробной информации.

Значение

Экземпляр объекта GPUSupportedFeatures. Это объект типа «множество».

Примеры

В следующем коде мы проверяем, доступна ли функция texture-compression-astc у GPUAdapter. Если доступна, то мы добавляем её в массив requiredFeatures, и запрашиваем устройство с этим требованием к функциям, используя GPUAdapter.requestDevice().

Затем мы выводим все элементы набора GPUDevice.features в консоль. Этот набор должен содержать только один элемент — texture-compression-astc — так как это была единственная функция, запрошенная при создании устройства.

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

Совместимость браузеров

Рабочий стол Мобильный
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
features
113В настоящее время поддерживается только на ChromeOS, macOS и Windows.
113В настоящее время поддерживается только на ChromeOS, macOS и Windows.
previewВ настоящее время поддерживается только на Linux и Windows.
99В настоящее время поддерживается только на ChromeOS, macOS и Windows.
preview 121 Нет 81 Нет 25.0 121

См. также

  • API WebGPU

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/GPUDevice/features

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API