Novedades de WebGPU (Chrome 138)

François Beaufort
François Beaufort

Fecha de publicación: 17 de junio de 2025

Abreviatura para usar el búfer como recurso de vinculación

Ahora los desarrolladores pueden usar un GPUBuffer directamente como un GPUBindingResource para exponerlo al sombreador para la vinculación. Esto lo hace coherente con otros tipos de vinculación y aún más fácil de usar que una GPUBufferBinding cuando tanto el tamaño como el desplazamiento usan valores predeterminados. Consulta el problema 419223794.

const bindGroup = myDevice.createBindGroup({
  layout: myPipeline.getBindGroupLayout(0),
  entries: [
    { binding: 0, resource: mySampler },
    { binding: 1, resource: myTextureView },
    { binding: 2, resource: myExternalTexture },
    { binding: 3, resource: myBuffer }, // Same as { buffer: myBuffer }
    { binding: 4, resource: { buffer: myOtherBuffer, offset: 42 },
  ],
});

Cambios en los requisitos de tamaño para los búferes asignados en la creación

Crear un búfer con mappedAtCreation establecido como verdadero ahora arroja un RangeError si size no es un múltiplo de 4. Anteriormente, esto se aplicaba solo con un GPUValidationError. Consulta el problema 405883445.

myDevice.createBuffer({
  mappedAtCreation: true,
  size: 42,
  usage: GPUBufferUsage.STORAGE,
});
// Throws RangeError

Informe de arquitectura para GPUs recientes

Las GPU más recientes de Nvidia y AMD ahora informan su arquitectura en GPUAdapterInfo como "blackwell" y "rdna4", respectivamente, además de algunas otras incorporaciones menores a las fichas de arquitectura de GPU. Consulta el problema 417202748.

Se da de baja el atributo isFallbackAdapter de GPUAdapter

El atributo isFallbackAdapter de GPUAdapter dejó de estar disponible. Se reemplaza por el atributo isFallbackAdapter de GPUAdapterInfo que se presentó en Chrome 136. Consulta intención de dar de baja.

Actualizaciones de Dawn

Emscripten es compatible con Dawn GLFW para compilaciones de CMake, lo que permite a los desarrolladores simplificar aún más su código de app multiplataforma de WebGPU cuando usan Emdawnwebgpu, que implementa la versión más reciente de webgpu.h estandarizada en la API del navegador. Consulta change dawn:242894.

Para obtener una guía completa, consulta la documentación actualizada sobre cómo compilar una app con WebGPU.

Ahora se incluye un puerto Emdawnwebgpu "remoto" en las versiones de paquetes. Se incluye una instantánea de este puerto en Emscripten 4.0.10 y versiones posteriores, que ahora admite puertos alojados de forma externa. Cambiar a Emdawnwebgpu ahora es un solo cambio de marca de emcc -sUSE_WEBGPU a emcc --use-port=emdawnwebgpu. Consulta PR #24303, #24220 y CL 243214 de Dawn de Emscripten.

Esto solo abarca algunos de los aspectos más destacados. Consulta la lista exhaustiva de confirmaciones.

Novedades de WebGPU

Una lista de todo lo que se analizó en la serie Novedades de WebGPU.

Chrome 138

Chrome 137

Chrome 136

Chrome 135

Chrome 134

Chrome 133

Chrome 132

Chrome 131

Chrome 130

Chrome 129

Chrome 128

Chrome 127

Chrome 126

Chrome 125

Chrome 124

Chrome 123

Chrome 122

Chrome 121

Chrome 120

Chrome 119

Chrome 118

Chrome 117

Chrome 116

Chrome 115

Chrome 114

Chrome 113