Nouveautés de WebGPU (Chrome 138)

François Beaufort
François Beaufort

Publié le 17 juin 2025

Raccourci pour utiliser une mémoire tampon comme ressource de liaison

Les développeurs peuvent désormais utiliser directement un GPUBuffer comme GPUBindingResource pour l'exposer au nuanceur à des fins de liaison. Cela le rend cohérent avec d'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. 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 mémoires tampons mappées lors de la création

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

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

Rapport d'architecture pour les GPU récents

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

Abandon de l'attribut GPUAdapter isFallbackAdapter

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

Mises à jour de Dawn

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 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 Créer une application avec WebGPU mise à jour.

Un port Emdawnwebgpu "distant" est désormais inclus dans les versions de 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 requêtes d'extraction Emscripten #24303, #24220 et Dawn CL 243214.

Cela ne couvre que quelques-uns des points clés. Consultez la liste exhaustive des commits.

Nouveautés de WebGPU

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

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