Novità di WebGPU (Chrome 138)

François Beaufort
François Beaufort

Pubblicata: 17 giugno 2025

Abbreviazione per l'utilizzo di un buffer come risorsa di associazione

Ora gli sviluppatori possono utilizzare un GPUBuffer direttamente come GPUBindingResource da esporre allo shader per la binding. Ciò lo rende coerente con altri tipi di binding ed è ancora più semplice da usare di un GPUBufferBinding quando sia la dimensione sia l'offset utilizzano valori predefiniti. Consulta il problema 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 },
  ],
});

Modifiche ai requisiti relativi alle dimensioni dei buffer mappati al momento della creazione

La creazione di un buffer con mappedAtCreation impostato su true ora genera un RangeError se size non è un multiplo di 4. In precedenza, questo veniva applicato solo con un GPUValidationError. Consulta il problema 405883445.

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

Report sull'architettura per le GPU recenti

Le GPU più recenti di Nvidia e AMD ora segnalano la loro architettura in GPUAdapterInfo come "blackwell" e "rdna4" rispettivamente, oltre ad alcune altre piccole aggiunte alle schede dell'architettura GPU. Consulta il problema 417202748.

Ritiro dell'attributo isFallbackAdapter di GPUAdapter

L'attributo GPUAdapter isFallbackAdapter è deprecato. È stato sostituito dall'attributo GPUAdapterInfo isFallbackAdapter introdotto in Chrome 136. Vedi Intento di ritiro.

Aggiornamenti di Dawn

Emscripten è supportato in Dawn GLFW per le build CMake, consentendo agli sviluppatori di semplificare ulteriormente il codice delle app multipiattaforma WebGPU quando utilizzano Emdawnwebgpu, che implementa la versione più recente di webgpu.h tramite l'API del browser. Vedi change dawn:242894.

Per una guida completa, consulta la documentazione aggiornata su come creare un'app con WebGPU.

Una porta Emdawnwebgpu "remota" è ora inclusa nelle release dei pacchetti. Uno snapshot di questa porta è incluso in Emscripten 4.0.10 e versioni successive, che ora supporta le porte ospitate esternamente. Il passaggio a Emdawnwebgpu ora richiede una singola modifica del flag da emcc -sUSE_WEBGPU a emcc --use-port=emdawnwebgpu. Consulta PR Emscripten 24303, 24220 e CL Dawn 243214.

Sono riportati solo alcuni punti salienti. Consulta l'elenco completo dei commit.

Novità di WebGPU

Un elenco di tutto ciò che è stato trattato nella serie Novità di WebGPU.

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