Neuigkeiten bei WebGPU (Chrome 151–152)

François Beaufort
François Beaufort

Veröffentlicht am 12. August 2026

Steuerung der Untergruppengröße

Wenn Sie die Untergruppengröße einer Compute-Pipeline mit dem Attribut @subgroup_size in WGSL-Compute-Shadern festlegen, können Sie die Leistung von Compute-Shadern optimieren, wenn Sie Untergruppenoperationen auf bestimmten Plattformen verwenden, z. B. für KI-Arbeitslasten.

Wenn Sie die Steuerung der Untergruppengröße in WGSL verwenden möchten, prüfen Sie, ob das Feature subgroup-size-control auf dem GPUAdapter verfügbar ist, und fordern Sie dann ein GPUDevice mit aktiviertem Feature an. Fügen Sie in Ihrem WGSL-Code explizit enable subgroups; und enable subgroup_size_control; hinzu. Anschließend können Sie das Attribut @subgroup_size deklarieren, um sicherzustellen, dass der Compute-Shader mit einer bestimmten Untergruppengröße (die eine Potenz von 2 sein muss) im Bereich von subgroupMinSize und subgroupMaxSize ausgeführt wird, der vom Adapter bereitgestellt wird. Setzen Sie @builtin(subgroup_size) entsprechend. Ohne dieses Attribut wird die Untergruppengröße dynamisch vom GPU-Treiber ausgewählt und ist vor der Ausführung unbekannt.

Sehen Sie sich das folgende Beispiel und die Absicht zur Auslieferung an.

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.
  }`,
});

Ein besonderer Dank gilt unseren Partnern bei Intel für ihre hervorragende Arbeit.

OperationError für Validierungsfehler bei setImmediates

In Übereinstimmung mit der WebGPU-Spezifikation wird bei Validierungsfehlern für dataOffset oder size in setImmediates eine OperationError anstelle einer RangeError ausgegeben. Siehe CL chromium:7977566.

Aktualisierungen bei Sonnenaufgang

Die experimentelle Unterstützung für das Vertex-Format „snorm10-10-10-2“ ist hinter dem Schalter „allow_unsafe_apis“ verfügbar. Das Format wgpu::VertexFormat::Snorm10_10_10_2 stellt einen Vektor mit vier Komponenten dar, der 10‑Bit-Ganzzahlen mit Vorzeichen für die RGB-Kanäle und eine 2‑Bit-Alphakomponente enthält. Siehe Problem dawn:536160421.

OpenGL unterstützt jetzt temporäre Anhänge für Texturformate, die Tiefe oder Stencil enthalten. Siehe Problem dawn:462577182.

Dies sind nur einige der wichtigsten Neuerungen. Vollständige Liste der Commits

Neuigkeiten zu WebGPU

Eine Liste aller Themen, die in der Reihe What's New in WebGPU behandelt wurden.

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