Nouveautés de WebGPU (Chrome 138)

François Beaufort
François Beaufort

Publié le 17 juin 2025

Abréviation pour utiliser le tampon comme ressource de liaison

Les développeurs peuvent désormais utiliser un GPUBuffer directement comme 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 de taille pour les 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 sous la forme "blackwell" et "rdna4", respectivement. Quelques autres ajouts mineurs ont également été apportés à la liste des 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 Intention d'abandon.

Nouveautés de l'application 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 Emdawnwebgpu "distant" 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 ne nécessite plus qu'un seul changement d'indicateur, de emcc -sUSE_WEBGPU à emcc --use-port=emdawnwebgpu. Consultez les PR #24303 et #24220 d'Emscripten, ainsi que Dawn CL 243214.

Il ne s'agit que de quelques-uns des principaux points à retenir. 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 155-156

Chrome 153-154

Chrome 151-152

Chrome 149-150

Chrome 147-148

Chrome 146

Chrome 145

Chrome 144

Chrome 143

Chrome 142

Chrome 141

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