Nieskonfigurowany bufor wierzchołka
Przekazanie wartości null
zamiast GPUBuffer
do setVertexBuffer()
w GPURenderPassEncoder
lub GPURenderBundleEncoder
pozwala zresetować wcześniej ustawiony bufor wierzchołka w danym gnieździe. Zobacz issue dawn:1675.
// Set vertex buffer in slot 0.
myRenderPassEncoder.setVertexBuffer(0, myVertexBuffer);
// Then later, unset vertex buffer in slot 0.
myRenderPassEncoder.setVertexBuffer(0, null);
Usuń grupę powiązań
Przekazanie wartości null
zamiast GPUBindGroup
do setBindGroup()
na GPURenderPassEncoder
lub GPURenderBundleEncoder
pozwala zresetować wcześniej ustawioną grupę wiązania w danym gnieździe. Zobacz issue dawn:1675.
// Set bing group in slot 0.
myRenderPassEncoder.setBindGroup(0, myBindGroup);
// Then later, unset bind group in slot 0.
myRenderPassEncoder.setBindGroup(0, null);
Wyciszanie błędów podczas tworzenia asynchronicznego potoku w przypadku utraty urządzenia
Metody createComputePipelineAsync()
i createRenderPipelineAsync()
obiektu GPUDevice
zwracają obietnicę, która zostanie spełniona po zakończeniu tworzenia potoku. Od teraz błędy z tworzenia asynchronicznego kanału będą ignorowane, gdy GPUDevice
będzie równa lost
, aby zgubione urządzenia mogły działać jak najdłużej. Zobacz problem o świcie:1874.
Aktualizacje dotyczące tworzenia modułu cieniowania SPIR-V
Tworzenie modułu shadera SPIR-V za pomocą createShaderModule()
powoduje teraz wyjątek TypeError, chyba że uruchomisz Chrome z flagą „Unsafe WebGPU Support”, ponieważ SPIR-V nie jest częścią specyfikacji WebGPU. Przed wprowadzeniem tej zmiany użycie SPIR-V powodowałoby zamiast tego wygenerowanie błędu GPUInternalError.
Zobacz zmianę chromium:4711911.
Poprawianie wrażeń programistów
Komunikat o błędzie weryfikacji dla powiązań układu grup powiązań w cieniowaniu wierzchołków został ulepszony pod kątem buforów pamięci do odczytu i zapisu oraz wiązań tekstur pamięci tylko do zapisu. Zobacz problem od świtu:1883.
Buforowanie przepływów danych za pomocą automatycznie wygenerowanego układu
Prace przetwarzania utworzone za pomocą createRenderPipeline({ layout: "auto" })
korzystają teraz z mechanizmów buforowania w Chrome. Oznacza to, że te potoki będą tworzone wydajniej i będą zużywać mniej pamięci. Zobacz problem: świt:1933.
Aktualizacje świtu
Aby ułatwić aplikacjom żądanie określonego backendu podczas uzyskiwania adaptera, wgpu::RequestAdapterOptionsBackendType
jest teraz częścią wgpu::RequestAdapterOptions
. Zobacz ten przykład i problem świt:1875.
wgpu::RequestAdapterOptions options = {
.backendType = wgpu::BackendType::D3D12};
// Request D3D12 adapter.
myInstance.RequestAdapter(&options, myCallback, myUserData);
W Node.js zaimplementowano kilka dodatkowych metod. Zobacz change dawn:142465.
Interfejs API C webgpu.h ma teraz typ wartości logicznych stdbool
zamiast WGPUBool
, który jest uint32_t
. Ta zmiana została wprowadzona, aby zapewnić interfejsowi API odpowiedni ABI w językach C i C++.
Obejmuje to tylko niektóre najważniejsze informacje. Zobacz pełną listę zatwierdzeń.
Co nowego w WebGPU
Lista wszystkich tematów omawianych w cyklu Co nowego w WebGPU.
Chrome 131
- Odcinki odległości w WGSL
- GPUCanvasContext getConfiguration(),
- Elementy podstawowe punktowe i liniowe nie mogą mieć efektu głębi
- Funkcje wbudowane w skanowanie z uwzględnieniem wszystkich grup
- Eksperymentalna obsługa wielu rysowań pośrednich
- Opcja kompilacji modułu shadera: ścisłe obliczenia matematyczne
- Usuwanie interfejsu GPUAdapter requestAdapterInfo()
- Informacje o świcie
Chrome 130
- Mieszanie dwóch źródeł
- Skrócenie czasu kompilacji shaderów na Metalu
- Wycofanie metody requestAdapterInfo() klasy GPUAdapter
- Informacje o świcie
Chrome 129
Chrome 128
- Eksperymentowanie z podgrupami
- Wycofanie obsługi ustawiania głębi dla linii i punktów
- Ukrywanie ostrzeżenia DevTools o nieuwzględnionym błędzie, jeśli wywołano funkcję preventDefault
- WGSL interpoluje próbkowanie najpierw i potem
- Aktualizacje dotyczące Dawn
Chrome 127
- Doświadczalna obsługa OpenGL ES na Androidzie
- Atrybut informacji o karcie GPU
- Ulepszenia interoperacyjności WebAssembly
- Poprawione błędy kodera poleceń
- Aktualizacje dotyczące Dawn
Chrome 126
- Zwiększenie limitu maxTextureArrayLayers
- Optymalizacja przesyłania bufora dla backendu Vulkana
- Ulepszenia dotyczące czasu kompilacji shaderów
- Przesłane bufory poleceń muszą być unikalne
- Aktualizacje dotyczące Dawn
Chrome 125
- Podgrupy (funkcja w trakcie opracowywania)
- Renderowanie na wycinek tekstury 3D
- Aktualizacje dotyczące Dawn
Chrome 124
- Tekstury tylko do odczytu i do odczytu i zapisu
- Obsługa pracowników usług i pracowników wspólnych
- Nowe atrybuty informacji o adapterze
- Poprawki błędów
- Informacje o świcie
Chrome 123
- Obsługa wbudowanych funkcji DP4a w WGSL
- Parametry wskaźnika bez ograniczeń w WGSL
- Składnia cukrowa do odwoływania się do elementów złożonych w WGSL
- Oddzielny stan tylko do odczytu w przypadku elementów związanych z szablonem i głębią
- Informacje o świcie
Chrome 122
- Zwiększenie zasięgu dzięki trybowi zgodności (funkcja w trakcie tworzenia)
- Zwiększenie limitu maxVertexAttributes
- Aktualizacje dotyczące Dawn
Chrome 121
- Obsługa WebGPU na Androidzie
- Używanie DXC zamiast FXC do kompilowania danych do cieniowania w systemie Windows
- Zapytania o sygnatury czasowe w przelotach obliczeniowych i renderowania
- Domyślne punkty wejścia do modułów shaderów
- Obsługuj display-p3 jako przestrzeń kolorów GPUExternalTexture
- Informacje o kupach pamięci
- Informacje o świcie
Chrome 120
- Obsługa 16-bitowych wartości zmiennoprzecinkowych w WGSL
- Przesuwaj granice
- Zmiany stanu głębi cieniowania
- Aktualizacje informacji o adapterze
- Kwantyzacja zapytań dotyczących sygnatury czasowej
- Funkcje sprzątania wiosenną
Chrome 119
- Filtrowane tekstury 32-bitowe zmiennoprzecinkowe
- Format wierzchołka unorm10-10-10-2
- Format tekstury rgb10a2uint
- Aktualizacje dotyczące Dawn
Chrome 118
- Obsługa HTMLImageElement i ImageData w
copyExternalImageToTexture()
- Eksperymentalna obsługa tekstury pamięci masowej tylko do odczytu i do odczytu i zapisu
- Informacje o świcie
Chrome 117
- Nieskonfigurowany bufor wierzchołkowy
- Nieskonfigurowana grupa powiązań
- Błędy w przypadku tworzenia asynchronicznego potoku, gdy urządzenie jest utracone
- Aktualizacje dotyczące tworzenia modułów shaderów SPIR-V
- Ułatwienie pracy programistom
- Przetwarzanie za pomocą przepływów z automatycznie wygenerowanym układem
- Aktualizacje dotyczące Dawn
Chrome 116
- Integracja z WebCodecs
- Urządzenie zgubione zwrócone przez GPUAdapter
requestDevice()
- Utrzymanie płynnego odtwarzania filmu, jeśli wywołana zostanie funkcja
importExternalTexture()
- Zgodność ze specyfikacją
- Ułatwienie pracy programistom
- Aktualizacje dotyczące Dawn
Chrome 115
- Obsługiwane rozszerzenia językowe WGSL
- Eksperymentalna obsługa interfejsu Direct3D 11
- Domyślnie używaj dyskretnego GPU przy zasilaniu sieciowym
- Ułatwienie pracy programistom
- Aktualizacje dotyczące Dawn
Chrome 114
- Optymalizacja kodu JavaScript
- Funkcja getCurrentTexture() w nieskonfigurowanym obszarze roboczym powoduje zgłoszenie nieprawidłowego stanu błędu
- Aktualizacje WGSL
- Aktualizacje dotyczące Dawn