Wat is er nieuw in WebGPU (Chrome 138)

François Beaufort
François Beaufort

Gepubliceerd: 17 juni 2025

Verkorte notatie voor het gebruik van buffer als bindingsbron.

Ontwikkelaars kunnen nu een GPUBuffer rechtstreeks gebruiken als een GPUBindingResource om deze beschikbaar te stellen aan de shader voor binding. Dit maakt het consistent met andere bindingstypen en zelfs eenvoudiger in gebruik dan een GPUBufferBinding wanneer zowel de grootte als de offset standaardwaarden gebruiken. Zie issue 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 },
  ],
});

De vereiste grootte voor buffers die bij de aanmaak worden toegewezen, verandert.

Het aanmaken van een buffer met mappedAtCreation ingesteld op true geeft nu een RangeError als size geen veelvoud van 4 is. Voorheen werd dit alleen afgedwongen met een GPUValidationError . Zie probleem 405883445 .

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

Architectuurrapport voor recente GPU's

De nieuwste GPU's van Nvidia en AMD vermelden hun architectuur nu in GPUAdapterInfo als respectievelijk "blackwell" en "rdna4" , naast een paar andere kleine toevoegingen aan de GPU-architectuurlijsten. Zie issue 417202748 .

Het attribuut `isFallbackAdapter` van GPUAdapter wordt afgeschaft.

Het attribuut `GPUAdapter isFallbackAdapter is verouderd. Het is vervangen door het attribuut `GPUAdapterInfo isFallbackAdapter dat is geïntroduceerd in Chrome 136. Zie de intentie om dit attribuut te deprecateeren .

Dawn-updates

Emscripten wordt ondersteund in Dawn GLFW voor CMake-builds, waardoor ontwikkelaars hun WebGPU-applicatiecode voor meerdere platforms nog verder kunnen vereenvoudigen bij gebruik van Emdawnwebgpu , dat de nieuwste gestandaardiseerde webgpu.h implementeert via de browser-API. Zie wijziging dawn:242894 .

Voor een complete handleiding kunt u de bijgewerkte documentatie 'Een app bouwen met WebGPU' raadplegen.

Een "remote" Emdawnwebgpu-port is nu opgenomen in pakketreleases . Een snapshot van deze port is opgenomen in Emscripten 4.0.10+, dat nu extern gehoste ports ondersteunt. Overstappen naar Emdawnwebgpu is nu een kwestie van één vlag wijzigen van emcc -sUSE_WEBGPU naar emcc --use-port=emdawnwebgpu . Zie Emscripten PR #24303 , #24220 en Dawn CL 243214 .

Dit is slechts een greep uit de belangrijkste hoogtepunten. Bekijk de volledige lijst met commits .

Wat is er nieuw in WebGPU?

Een lijst van alles wat in de serie ' Wat is nieuw in WebGPU' aan bod is gekomen.

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