Nieuw in WebGPU (Chrome 151-152)

François Beaufort
François Beaufort

Gepubliceerd: 12 augustus 2026

De grootte van subgroepen beheren

Het is handig om de subgroepgrootte van een Compute-pipeline in te stellen met het kenmerk @subgroup_size in WGSL-computeshaders om de prestaties van computeshaders te optimaliseren als u subgroepbewerkingen gebruikt op specifieke platforms, zoals voor AI-workloads.

Als je de grootte van subgroepen wilt beheren in WGSL, check je of de functie subgroup-size-control beschikbaar is op de GPUAdapter en vraag je een GPUDevice aan waarop deze functie aanstaat. Voeg enable subgroups; en enable subgroup_size_control; expliciet toe aan je WGSL-code. Je kunt dan het kenmerk @subgroup_size declareren om te garanderen dat de berekeningsshader wordt uitgevoerd met een specifieke subgroepgrootte (die een macht van 2 moet zijn) binnen het bereik van subgroupMinSize en subgroupMaxSize dat door de adapter wordt geleverd, waarbij @builtin(subgroup_size) overeenkomt. Zonder dit kenmerk wordt de subgroepgrootte dynamisch geselecteerd door het GPU-stuurprogramma en blijft deze onbekend vóór de uitvoering.

Neem het volgende voorbeeld en het intent to ship door.

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

Een speciaal bedankje aan onze partners bij Intel voor hun uitstekende werk.

OperationError voor validatiefouten voor setImmediates

In overeenstemming met de WebGPU-specificatie geven validatiefouten voor dataOffset of size in setImmediates een OperationError in plaats van een RangeError. Ga naar CL chromium:7977566.

Updates voor Dawn

Experimentele ondersteuning voor de hoekpuntindeling snorm10-10-10-2 is beschikbaar achter de schakelaar allow_unsafe_apis. De wgpu::VertexFormat::Snorm10_10_10_2-indeling is een vector met 4 componenten met 10-bits ondertekende genormaliseerde gehele getallen voor de RGB-kanalen en een alfacomponent van 2 bits. Ga naar probleem dawn:536160421.

OpenGL ondersteunt nu tijdelijke bijlagen voor textuurindelingen met diepte of stencil. Ga naar probleem dawn:462577182.

Dit zijn maar enkele van de belangrijkste punten. Neem de uitgebreide lijst met doorvoeringen door.

Wat is er nieuw in WebGPU?

Een lijst met alles wat is behandeld in de serie Nieuw in 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