Neuigkeiten bei WebGPU (Chrome 138)

François Beaufort
François Beaufort

Veröffentlicht am 17. Juni 2025

Kurzform für die Verwendung von Puffern 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 er 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 ausgelöst, 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 jetzt in GPUAdapterInfo als "blackwell" bzw. "rdna4". Außerdem wurden einige kleinere Ergänzungen zu den GPU-Architekturlisten hinzugefügt. Siehe Problem 417202748.

Einstellung des GPUAdapter-Attributs „isFallbackAdapter“

Das GPUAdapter-Attribut isFallbackAdapter wurde eingestellt. Es wurde durch das GPUAdapterInfo-Attribut isFallbackAdapter ersetzt, das in Chrome 136 eingeführt wurde. Siehe Einstellung von.

Dawn-Updates

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

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

Ein „Remote“-Port von Emdawnwebgpu ist jetzt in den Paket-Releases enthalten. Ein Snapshot dieses Ports ist in Emscripten 4.0.10+ enthalten, das jetzt extern gehostete Ports unterstützt. Der Wechsel zu Emdawnwebgpu erfordert jetzt nur noch eine Änderung des Flags von emcc -sUSE_WEBGPU zu emcc --use-port=emdawnwebgpu. Siehe Emscripten-Pull-Request #24303, #24220 und Dawn-Änderungsliste 243214.

Dies sind nur einige der wichtigsten Highlights. Eine vollständige Liste der Commits finden Sie hier.

Neues in WebGPU

Eine Liste aller Themen, die in der Reihe „Neues in WebGPU“ behandelt wurden.

Chrome 151–152

Chrome 149–150

Chrome 147–148

Chrome 146

Chrome 145

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