Nouveautés de WebGPU (Chrome 151-152)

François Beaufort
François Beaufort

Publié le 12 août 2026

Contrôle de la taille des sous-groupes

Définir la taille des sous-groupes d'un pipeline de calcul à l'aide de l'attribut @subgroup_size dans les nuanceurs de calcul WGSL est utile pour optimiser les performances des nuanceurs de calcul lorsque vous utilisez des opérations de sous-groupe sur des plates-formes spécifiques, par exemple pour les charges de travail d'IA.

Pour utiliser le contrôle de la taille des sous-groupes dans WGSL, vérifiez si la fonctionnalité "subgroup-size-control" est disponible sur le GPUAdapter, puis demandez un GPUDevice avec cette fonctionnalité activée. Dans votre code WGSL, ajoutez explicitement enable subgroups; et enable subgroup_size_control;. Vous pouvez ensuite déclarer l'attribut @subgroup_size pour garantir que le nuanceur de calcul s'exécute à une taille de sous-groupe spécifique (qui doit être une puissance de 2) dans la plage subgroupMinSize et subgroupMaxSize fournie par l'adaptateur, en définissant @builtin(subgroup_size) pour qu'il corresponde. Sans cet attribut, la taille du sous-groupe est sélectionnée de manière dynamique par le pilote GPU et reste inconnue avant l'exécution.

Consultez l'exemple suivant et l'intention de livraison.

const adapter = await navigator.gpu.requestAdapter();
if (!adapter.features.has("subgroup-size-control")) {
  throw new Error("Subgroup size control support is not available");
}
// Explicitly request subgroup size control support.
const device = await adapter.requestDevice({
  requiredFeatures: ["subgroup-size-control"],
});

const shaderModule = device.createShaderModule({ code: `
  enable subgroups;
  enable subgroup_size_control;

  @subgroup_size(32)
  @compute @workgroup_size(64, 1, 1)
  fn main(@builtin(subgroup_invocation_id) sg_id : u32,
          @builtin(subgroup_size) sg_size : u32) {
     // TODO: Compute shader logic using specific subgroup size.
  }`,
});

Un grand merci à nos partenaires d'Intel pour leur travail exceptionnel.

OperationError pour les échecs de validation setImmediates

Pour s'aligner sur la spécification WebGPU, les échecs de validation pour dataOffset ou size dans setImmediates génèrent une OperationError au lieu d'une RangeError. Consultez CL chromium:7977566.

Informations Dawn

La prise en charge expérimentale du format de sommet snorm10-10-10-2 est disponible derrière le bouton "allow_unsafe_apis". Le format wgpu::VertexFormat::Snorm10_10_10_2 représente un vecteur à quatre composants comportant des entiers normalisés signés de 10 bits pour les canaux RVB et un composant alpha de 2 bits. Consultez le problème dawn:536160421.

OpenGL est désormais compatible avec les pièces jointes temporaires pour les formats de texture contenant une profondeur ou un stencil. Consultez le problème dawn:462577182.

Cela ne couvre que quelques-uns des principaux points forts. 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