Novità di WebGPU (Chrome 138)

François Beaufort
François Beaufort

Data di pubblicazione: 17 giugno 2025

Abbreviazione per l'utilizzo del buffer come risorsa di binding

Gli sviluppatori ora possono utilizzare un GPUBuffer direttamente come GPUBindingResource da esporre allo shader per il binding. In questo modo, è coerente con altri tipi di binding e ancora più semplice da usare rispetto a un GPUBufferBinding quando sia la dimensione che l'offset utilizzano i valori predefiniti. Vedi 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 di dimensione per i buffer mappati durante la 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. Vedi problema 405883445.

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

Report sull'architettura delle GPU recenti

Le GPU più recenti di Nvidia e AMD ora segnalano la propria architettura in GPUAdapterInfo rispettivamente come "blackwell" e "rdna4", oltre ad alcune altre piccole aggiunte agli elenchi delle architetture GPU. Vedi problema 417202748.

Deprecare l'attributo isFallbackAdapter di GPUAdapter

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

Aggiornamenti all'alba

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

Per una guida completa, consulta la documentazione aggiornata Crea un'app con WebGPU.

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

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 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