Novità di WebGPU (Chrome 151-152)

François Beaufort
François Beaufort

Data di pubblicazione: 12 agosto 2026

Controllo delle dimensioni del sottogruppo

L'impostazione delle dimensioni del sottogruppo di una pipeline di calcolo utilizzando l'attributo @subgroup_size negli shader di calcolo WGSL è utile per ottimizzare le prestazioni degli shader di calcolo quando si utilizzano operazioni di sottogruppo su piattaforme specifiche, ad esempio per i carichi di lavoro di AI.

Per utilizzare il controllo delle dimensioni del sottogruppo in WGSL, verifica se la funzionalità "subgroup-size-control" è disponibile su GPUAdapter, quindi richiedi un GPUDevice con questa funzionalità attivata. Nel codice WGSL, aggiungi esplicitamente enable subgroups; e enable subgroup_size_control;. Puoi quindi dichiarare l'attributo @subgroup_size per garantire che lo shader di calcolo venga eseguito a una dimensione specifica del sottogruppo (che deve essere una potenza di 2) nell'intervallo di subgroupMinSize e subgroupMaxSize fornito dall'adattatore, impostando @builtin(subgroup_size) in modo che corrisponda. Senza questo attributo, la dimensione del sottogruppo viene selezionata dinamicamente dal driver della GPU e rimane sconosciuta prima dell'esecuzione.

Vedi l'esempio seguente e l'intent to ship.

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 ringraziamento speciale ai nostri partner di Intel per il loro straordinario lavoro.

OperationError per errori di convalida di setImmediates

In linea con la specifica WebGPU, gli errori di convalida per dataOffset o size in setImmediates generano un OperationError anziché un RangeError. Vedi CL chromium:7977566.

Aggiornamenti di Dawn

Il supporto sperimentale per il formato dei vertici snorm10-10-10-2 è disponibile tramite il pulsante di attivazione/disattivazione "allow_unsafe_apis". Il formato wgpu::VertexFormat::Snorm10_10_10_2 rappresenta un vettore a quattro componenti con numeri interi normalizzati con segno a 10 bit per i canali RGB e un componente alfa a 2 bit. Vedi il problema dawn:536160421.

OpenGL ora supporta gli allegati temporanei per i formati di texture contenenti profondità o stencil. Vedi il problema dawn:462577182.

Questi sono solo alcuni dei punti salienti. Consulta l'elenco completo dei commit.

Novità di WebGPU

Un elenco di tutti gli argomenti trattati nella serie Novità di WebGPU.

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