Neuigkeiten bei WebGPU (Chrome 138)

François Beaufort
François Beaufort

Veröffentlicht: 17. Juni 2025

Kurzform für die Verwendung von „buffer“ als Bindungsressource

Entwickler können jetzt einen GPUBuffer direkt als GPUBindingResource verwenden, um ihn dem Shader zur Bindung zur Verfügung zu stellen. Dadurch ist sie mit anderen Bindungstypen konsistent und sogar 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 },
  ],
});

Größeranforderungen für bei der Erstellung zugeordnete Puffer

Beim Erstellen eines Puffers mit mappedAtCreation auf „wahr“ wird jetzt eine RangeError-Fehlermeldung ausgegeben, wenn size kein Vielfaches von 4 ist. Bisher wurde dies nur mit einer 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 geben ihre Architektur in GPUAdapterInfo jetzt als "blackwell" bzw. "rdna4" an. Außerdem wurden die Einträge für die GPU-Architektur um einige kleinere Ergänzungen erweitert. Siehe Problem 417202748.

Einstellung des GPUAdapter-Attributs „isFallbackAdapter“

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

Dawn-Updates

Emscripten wird in Dawn GLFW für CMake-Builds unterstützt. Entwickler können ihren plattformübergreifenden WebGPU-App-Code mit Emdawnwebgpu noch weiter vereinfachen, da die neueste standardisierte webgpu.h über die Browser-API implementiert wird. Siehe change dawn:242894.

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

Ein „remote“-Emdawnwebgpu-Port ist jetzt in Paketveröffentlichungen enthalten. Ein Snapshot dieses Ports ist in Emscripten 4.0.10 und höher enthalten, das jetzt extern gehostete Ports unterstützt. Die Umstellung auf Emdawnwebgpu erfolgt jetzt durch eine einzige Ä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 Highlights. Eine vollständige Liste der Commits

Das ist neu bei WebGPU

Eine Liste aller Themen, die in der Reihe Was ist neu in WebGPU? behandelt wurden.

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