Esta página ha sido traducida del inglés por la comunidad. Aprende más y únete a la comunidad de MDN Web Docs.

View in English Always switch to English

GPUAdapter: Propiedad features

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Contexto seguro: Esta función está disponible solo en contextos seguros (HTTPS), en algunos o todos los navegadores que lo soportan.

Nota: Esta característica está disponible en Web Workers.

La propiedad de solo lectura features de la interfaz GPUAdapter devuelve un objeto GPUSupportedFeatures que describe las funcionalidades adicionales soportadas por el adaptador.

Deberías tener en cuenta que no todas las características estarán disponibles en WebGPU en todos los navegadores que lo soportan, incluso si las características están soportadas por el hardware subyacente. Esto podría deberse a limitaciones al sistema subyacente, navegador o adaptador. Por ejemplo:

  • El sistema subyacente podría no ser capaz de garantizar la exposición de una característica de una manera que sea compatible con ciertos navegadores.
  • El proveedor del navegador podría no tener una forma segura de implementar el soporte para esa característica, o simplemente aún no lo haya hecho.

Si quieres aprovechar una característica adicional en una aplicación WebGPU, se recomienda realizar pruebas exhaustivas.

Valor

Una instancia del objeto GPUSupportedFeatures. Este es un objeto setlike.

Ejemplos

En el siguiente código comprobamos si un GPUAdapter tiene la característica texture-compression-astc disponible. En ese caso, lo agregamos al arreglo de requiredFeatures, y solicitamos un dispositivo con esa característica usando GPUAdapter.requestDevice()

js
async function init() {
  if (!navigator.gpu) {
    throw Error("WebGPU no está soportado.");
  }

  const adapter = await navigator.gpu.requestAdapter();
  if (!adapter) {
    throw Error("No se pudo solicitar un adaptador de WebGPU.");
  }

  const requiredFeatures = [];

  if (adapter.features.has("texture-compression-astc")) {
    requiredFeatures.push("texture-compression-astc");
  }

  const device = await adapter.requestDevice({
    requiredFeatures,
  });

  // …
}

Especificaciones

Specification
WebGPU
# dom-gpuadapter-features

Compatibilidad con navegadores

Véase también