Nowości w WebGPU (Chrome 138)

François Beaufort
François Beaufort

Opublikowano: 17 czerwca 2025 r.

Skrót do używania bufora jako zasobu powiązanego

Deweloperzy mogą teraz używać obiektu GPUBuffer bezpośrednio jako obiektu GPUBindingResource, aby udostępnić go shaderowi do powiązania. Dzięki temu jest on zgodny z innymi typami powiązań i jeszcze łatwiejszy 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 w przypadku buforów mapowanych podczas tworzenia

Utworzenie bufora z ustawioną wartością mappedAtCreation na true (prawda) powoduje teraz zgłoszenie błędu RangeError, jeśli size nie jest wielokrotnością liczby 4. Wcześniej było to egzekwowane tylko za pomocą GPUValidationError. Zobacz problem 405883445.

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

Raport o architekturze najnowszych układów GPU

Najnowsze układy GPU firm Nvidia i AMD zgłaszają teraz swoją architekturę w GPUAdapterInfo odpowiednio jako "blackwell" i "rdna4", a także kilka innych drobnych dodatków do list architektur GPU. Zobacz problem 417202748.

Wycofanie atrybutu GPUAdapter isFallbackAdapter

Atrybut GPUAdapter isFallbackAdapter został wycofany. Zastępuje go atrybut GPUAdapterInfo isFallbackAdapter, który został wprowadzony w Chrome 136. Zobacz zamiar wycofania.

Aktualizacje Dawn

Emscripten jest obsługiwany w Dawn GLFW w przypadku kompilacji CMake, co pozwala deweloperom jeszcze bardziej uprościć kod aplikacji WebGPU na wielu platformach podczas korzystania z Emdawnwebgpu, który implementuje najnowszy standardowy plik webgpu.h w interfejsie API przeglądarki. Zobacz zmianę dawn:242894.

Pełny przewodnik znajdziesz w zaktualizowanej dokumentacji Tworzenie aplikacji za pomocą WebGPU.

W wersjach pakietów jest teraz dostępny port „zdalny” Emdawnwebgpu. Migawka tego portu jest dostępna w Emscripten 4.0.10+, który obsługuje teraz porty hostowane zewnętrznie. Przełączenie na Emdawnwebgpu wymaga teraz tylko zmiany jednej flagi z emcc -sUSE_WEBGPU na emcc --use-port=emdawnwebgpu. Zobacz Emscripten PR #24303, #24220 i Dawn CL 243214.

Obejmuje to tylko niektóre z najważniejszych informacji. Zapoznaj się z pełną listą commitów.

Nowości w WebGPU

Lista wszystkich tematów omówionych w serii Nowości w WebGPU.

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