Neuigkeiten bei WebGPU (Chrome 138)

François Beaufort
François Beaufort

Veröffentlicht: 17. Juni 2025

Abkürzung für die Verwendung von „buffer“ als Bindungsressource

Entwickler können jetzt einen GPUBuffer direkt als GPUBindingResource verwenden, um ihn für die Bindung im Shader verfügbar zu machen. Dadurch ist sie mit anderen Bindungstypen konsistent und noch einfacher zu verwenden als eine GPUBufferBinding, wenn sowohl Größe als auch Offset Standardwerte verwenden. Siehe Problem 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 },
  ],
});

Änderungen der Größenanforderungen für Puffer, die bei der Erstellung zugeordnet werden

Wenn Sie einen Puffer mit mappedAtCreation auf „true“ erstellen, wird jetzt ein RangeError ausgegeben, wenn size kein Vielfaches von 4 ist. Bisher wurde dies nur mit einem GPUValidationError erzwungen. Siehe Problem 405883445.

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

Architekturbericht für aktuelle GPUs

Die neuesten GPUs von Nvidia und AMD melden ihre Architektur in GPUAdapterInfo jetzt als "blackwell" bzw. "rdna4". Außerdem wurden einige kleinere Ergänzungen in den GPU-Architekturlisten vorgenommen. Weitere Informationen finden Sie unter Problem 417202748.

Das GPUAdapter-Attribut „isFallbackAdapter“ wird nicht mehr unterstützt.

Das GPUAdapter-Attribut „isFallbackAdapter“ ist veraltet. Es wurde durch das GPUAdapterInfo-Attribut „isFallbackAdapter“ ersetzt, das in Chrome 136 eingeführt wurde. Weitere Informationen finden Sie unter Absicht zur Einstellung.

Dawn-Updates

Emscripten wird in Dawn GLFW für CMake-Builds unterstützt. So können Entwickler ihren WebGPU-App-Code für verschiedene Plattformen noch weiter vereinfachen, wenn sie Emdawnwebgpu verwenden. Diese Bibliothek implementiert die neueste standardisierte webgpu.h über die Browser-API. Änderung dawn:242894

Eine vollständige Anleitung finden Sie in der aktualisierten Dokumentation App mit WebGPU erstellen.

Ein „Remote“-Emdawnwebgpu-Port ist jetzt in Paket-Releases enthalten. Ein Snapshot dieses Ports ist in Emscripten 4.0.10+ enthalten, das jetzt extern gehostete Ports unterstützt. Die Umstellung auf Emdawnwebgpu erfordert jetzt nur noch eine Änderung des Flags von emcc -sUSE_WEBGPU zu emcc --use-port=emdawnwebgpu. Weitere Informationen finden Sie in Emscripten PR #24303, #24220 und Dawn CL 243214.

Dies sind nur einige der wichtigsten Neuerungen. Vollständige Liste der Commits

Neues zu WebGPU

Eine Liste mit allen Themen, die in der Reihe Neu in WebGPU behandelt wurden.

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