Nouveautés de WebGPU (Chrome 138)

François Beaufort
François Beaufort

Publié le 17 juin 2025

Raccourci pour utiliser un tampon comme ressource de liaison

Les développeurs peuvent désormais utiliser un GPUBuffer directement en tant que GPUBindingResource pour l'exposer au nuanceur à des fins de liaison. Il est ainsi cohérent avec les autres types de liaisons et encore plus simple à utiliser qu'un GPUBufferBinding lorsque la taille et le décalage utilisent des valeurs par défaut. Voir 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 exception RangeError si size n'est pas un multiple de 4. Auparavant, cette règle était appliquée uniquement avec une exception 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 d'AMD indiquent désormais leur architecture dans GPUAdapterInfo sous la forme "blackwell" et "rdna4", respectivement, ainsi que quelques autres ajouts mineurs aux listes d'architectures de GPU. Consultez le problème 417202748.

Abandon de l'attribut isFallbackAdapter de GPUAdapter

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

Informations Dawn

Emscripten est compatible avec Dawn GLFW pour les builds CMake, ce qui permet aux développeurs de simplifier encore plus leur code d'application multiplate-forme WebGPU lorsqu'ils utilisent Emdawnwebgpu, qui implémente la dernière version standardisée de webgpu.h sur l'API du navigateur. Consultez la modification dawn:242894.

Pour obtenir un guide complet, consultez la documentation mise à jour sur la création d'une application avec WebGPU.

Un port Emdawnwebgpu "à distance" est désormais inclus dans les versions de package. Un instantané de ce port est inclus dans Emscripten 4.0.10 et versions ultérieures, qui prennent désormais en charge 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 demandes de publication Emscripten 24303 et 24220, ainsi que la demande de correction Dawn 243214.

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

Nouveautés de WebGPU

Liste de tout ce qui a été abordé dans la série Nouveautés 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