WebGPU の新機能(Chrome 138)

François Beaufort
François Beaufort

公開日: 2025 年 6 月 17 日

バッファをバインディング リソースとして使用するための短縮形

デベロッパーは、GPUBufferGPUBindingResource として直接使用して、バインディング用にシェーダーに公開できるようになりました。これにより、他のバインディング タイプとの整合性が保たれ、サイズとオフセットの両方でデフォルト値を使用する場合、GPUBufferBinding よりも簡単に使用できます。問題 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 },
  ],
});

作成時にマッピングされたバッファのサイズ要件の変更

mappedAtCreation が true に設定されたバッファを作成するときに、size が 4 の倍数でない場合は RangeError がスローされるようになりました。以前は、これは GPUValidationError のみで適用されていました。問題 405883445 をご覧ください。

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

最近の GPU のアーキテクチャ レポート

Nvidia と AMD の最新の GPU は、GPUAdapterInfo でそれぞれのアーキテクチャ"blackwell""rdna4" として報告するようになりました。また、GPU アーキテクチャのリストにいくつかのマイナーな追加も行われています。問題 417202748 をご覧ください。

GPUAdapter isFallbackAdapter 属性を非推奨に

GPUAdapter isFallbackAdapter 属性は非推奨です。これは、Chrome 136 で導入された GPUAdapterInfo isFallbackAdapter 属性に置き換えられます。サポート終了の意向をご覧ください。

Dawn のアップデート

Emscripten は CMake ビルドの Dawn GLFW でサポートされており、デベロッパーは Emdawnwebgpu を使用する際に WebGPU クロス プラットフォーム アプリコードをさらに簡素化できます。Emdawnwebgpu は、ブラウザ API を介して最新の標準化された webgpu.h を実装します。変更 dawn:242894 を参照してください。

完全なガイドについては、更新された WebGPU を使用してアプリを構築するのドキュメントをご覧ください。

「リモート」Emdawnwebgpu ポートがパッケージ リリースに含まれるようになりました。このポートのスナップショットは Emscripten 4.0.10 以降に含まれており、外部でホストされるポートをサポートするようになりました。Emdawnwebgpu への切り替えは、emcc -sUSE_WEBGPU から emcc --use-port=emdawnwebgpu への 1 つのフラグ変更になりました。Emscripten PR #24303#24220Dawn CL 243214 をご覧ください。

ここでは、主なハイライトの一部のみを取り上げます。コミットの一覧をご覧ください。

WebGPU の新機能

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