Nowości w WebGPU (Chrome 138)

François Beaufort
François Beaufort

Data publikacji: 17 czerwca 2025 r.

Skrót do korzystania z bufora jako zasobu wiążącego

Deweloperzy mogą teraz używać GPUBuffer bezpośrednio jako GPUBindingResource, aby udostępnić go shaderowi do powiązania. Dzięki temu jest ono spójne z innymi typami powiązań i nawet prostsze w użyciu niż GPUBufferBinding, gdy zarówno rozmiar, jak i przesunięcie mają wartości domyślne. Zobacz 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 },
  ],
});

Zmiany wymagań dotyczących rozmiaru buforów mapowanych podczas tworzenia

Utworzenie bufora z wartością mappedAtCreation ustawioną na prawdę powoduje teraz błąd RangeError, jeśli size nie jest wielokrotnością 4. Wcześniej było to wymuszane tylko za pomocą błędu GPUValidationError. Zobacz problem 405883445.

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

Raport Architektura dotyczący najnowszych układów GPU

Najnowsze procesory graficzne firmy Nvidia i AMD podają teraz swoją architekturę w polu GPUAdapterInfo jako odpowiednio "blackwell""rdna4", a także kilka innych drobnych informacji o architekturze GPU. Zobacz problem 417202748.

Wycofanie atrybutu GPUAdapter isFallbackAdapter

Atrybut GPUAdapter isFallbackAdapter został wycofany. Został on zastąpiony atrybutem GPUAdapterInfo isFallbackAdapter, który został wprowadzony w Chrome 136. Zobacz zamierzanie wycofać.

Aktualizacje świtu

Emscripten jest obsługiwany w Dawn GLFW w ramach kompilacji CMake, co pozwala deweloperom jeszcze bardziej uprościć kod aplikacji natywnych dla WebGPU, korzystając z biblioteki Emdawnwebgpu, która implementuje najnowszą standardową bibliotekę webgpu.h w ramach interfejsu API przeglądarki. Zobacz change dawn:242894.

Pełny przewodnik znajdziesz w zaktualizowanej dokumentacji Tworzenie aplikacji z WebGPU.

„Zewnętrzny” port Emdawnwebgpu jest teraz uwzględniany w wersjach pakietów. Zrzut tego portu jest zawarty w wersji Emscripten 4.0.10 lub nowszej, która obsługuje teraz porty hostowane zewnętrznie. Przejście na Emdawnwebgpu wymaga teraz zmiany tylko 1 flagi z emcc -sUSE_WEBGPU na emcc --use-port=emdawnwebgpu. Zobacz Emscripten PR #24303, #24220Dawn CL 243214.

Dotyczy to tylko niektórych kluczowych informacji. Zapoznaj się z pełną listą commitów.

Co nowego w WebGPU

Lista wszystkich tematów omawianych w cyklu Co nowego w WebGPU.

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