Nouveautés de WebGPU (Chrome 138)

François Beaufort
François Beaufort

Publié le 17 juin 2025

Raccourci pour utiliser le tampon comme ressource de liaison

Les développeurs peuvent désormais utiliser un GPUBuffer directement en tant que GPUBindingResource pour l'exposer au nuanceur pour la liaison. Cela le rend cohérent avec les autres types de liaison et encore plus simple à utiliser qu'une GPUBufferBinding lorsque la taille et le décalage utilisent des valeurs par défaut. Consultez le problème 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 },
  ],
});

Modifications des exigences concernant la taille des tampons mappés lors de la création

La création d'un tampon avec mappedAtCreation défini sur "true" génère désormais une RangeError si size n'est pas un multiple de 4. Auparavant, cette règle n'était appliquée qu'avec GPUValidationError. Consultez le problème 405883445.

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

Rapport sur l'architecture des GPU récents

Les derniers GPU de Nvidia et AMD indiquent désormais leur architecture dans GPUAdapterInfo comme "blackwell" et "rdna4", respectivement, ainsi que quelques autres ajouts mineurs aux listes d'architectures de GPU. Consultez le problème 417202748.

Obsolescence de l'attribut GPUAdapter isFallbackAdapter

L'attribut isFallbackAdapter de GPUAdapter est obsolète. Il est remplacé par l'attribut isFallbackAdapter de GPUAdapterInfo, introduit dans Chrome 136. Consultez l'intention d'abandon.

Mises à jour de l'Aube

Emscripten est compatible avec Dawn GLFW pour les compilations CMake, ce qui permet aux développeurs de simplifier encore davantage le code de leur application WebGPU multiplate-forme lorsqu'ils utilisent Emdawnwebgpu, qui implémente le dernier fichier webgpu.h standardisé sur l'API du navigateur. Consultez change dawn:242894.

Pour obtenir un guide complet, consultez la documentation mise à jour Créer une application avec WebGPU.

Un port "distant" Emdawnwebgpu est désormais inclus dans les versions du package. Un instantané de ce port est inclus dans Emscripten 4.0.10+, qui est désormais compatible avec les ports hébergés en externe. Le passage à Emdawnwebgpu se fait désormais en modifiant un seul indicateur, de emcc -sUSE_WEBGPU à emcc --use-port=emdawnwebgpu. Consultez les demandes d'extraction Emscripten 24303 et 24220, ainsi que la liste des modifications Dawn 243214.

Il ne s'agit que de quelques-uns des points clés. Consultez la liste exhaustive des commits.

Nouveautés de WebGPU

Liste de tous les sujets abordés dans la série Nouveautés de WebGPU.

Chrome 140

Chrome 139

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