Liczba funkcji WebGPU może wydawać się tym niezbyt skomplikowana, ale nastąpią duże postępy w nauce. Następne wersje będą zawierały funkcje takie jak DP4a, tekstury pamięci tylko do odczytu oraz odczytu i zapisu, osobny szablon i kontrolę głębi obrazu, renderowanie na wycinkach tekstur 3D oraz ulepszenia kompilacji cieni.
W międzyczasie dowiedz się, jak ulepszyć testowanie modeli Web AI z wykorzystaniem technologii WebGPU i WebGPU w Chrome bez interfejsu graficznego oraz dlaczego WebGPU może być wyłączony lub nie działa w Chrome.
Zwiększanie zasięgu dzięki trybowi zgodności (funkcja w fazie opracowywania)
WebGPU dobrze współpracuje z nowoczesnymi interfejsami API dla grafiki (Vulkan, Metal i D3D12), ale niektóre urządzenia ich nie obsługują. Ogranicza to dostępność funkcji WebGPU, zwłaszcza na platformach takich jak Windows (31% użytkowników Chrome nie ma wersji D3D11.1 lub nowszej), Android (23% brak wersji Vulkan 1.1 lub nowszej) i ChromeOS (coraz większą popularność tego rozwiązania).
Zespół Chrome pracuje nad trybem zgodności w WebGPU, aby rozwiązać ten problem, oferując nieco ograniczoną wersję technologii WebGPU, która działa ze starszymi interfejsami API, takimi jak D3D11 i OpenGPU ES. Zwiększy to potencjalną bazę użytkowników WebGPU.
Co ważne, aplikacje korzystające z trybu zgodności pozostają w pełni prawidłowymi aplikacjami WebGPU. W przypadku urządzeń bez obsługi trybu zgodności domyślnie zostanie użyty podstawowy adapter WebGPU, co zapewni szerokie możliwości obsługi.
Jeśli masz pytania, zapoznaj się z ofertą pakietową i komentarzem.
Zwiększ limit maxVertexAttributes
Maksymalna łączna liczba atrybutów w buforach podczas tworzenia potoku GPURenderPipeline wynosi domyślnie 16. Teraz można przesłać żądania do 30, korzystając z limitu maxVertexAttributes, jeśli jest ono obsługiwane. Zobacz ten przykład i problem świt:2223.
const adapter = await navigator.gpu.requestAdapter();
if (adapter.limits.maxVertexAttributes < 30) {
// When the desired limit isn't supported, take action to either fall back to
// a code path that does not require the higher limit or notify the user that
// their device does not meet minimum requirements.
}
// Request highest limit of max vertex attributes.
const device = await adapter.requestDevice({
requiredLimits: { maxVertexAttributes: 30 },
});
Aktualizacje o świcie
nowy przełącznik instancji o nazwie „expose_wgsl_experimental_features”. dodano, aby instancja ujawniała tylko eksperymentalne funkcje WGSL, ale nie te niebezpieczne, aby można było używać bezpiecznych, eksperymentalnych funkcji WGSL bez konieczności włączania ustawienia „allow_unsafe_apis”. przełącz. Zobacz problem: świt:2260.
Niedawno wprowadziliśmy te ulepszenia w powiązaniach Dawn w Node.js:
- Do Twojego konta dodano
GPUSupportedFeatures::getSize()
. - Wdrożono brak aktualizacji
GPUAdapter
. - Aplikacja
GPUInternalError
jest teraz prawidłowo zgłaszana w przypadku urządzeń. - Można teraz wyliczać atrybuty.
To tylko niektóre z najważniejszych informacji. Zapoznaj się z pełną listą zatwierdzeń.
Co nowego w WebGPU
Lista wszystkiego, co zostało omówione w serii Co nowego w WebGPU.
Chrome 128
- Eksperymentowanie z podgrupami
- Wycofywanie odchylenia ustawień głębi w przypadku linii i punktów
- Ukryj nieprzechwycony błąd w Narzędziach deweloperskich w przypadku funkcji preventDefault
- Testuj najpierw próbkowanie WGSL, a potem jedno i drugie.
- Informacje o świcie
Chrome 127
- Eksperymentalna obsługa OpenGL ES na Androidzie
- Atrybut informacji o karcie GPU
- Ulepszenia współpracy WebAssembly
- Poprawione błędy kodera poleceń
- Informacje o świcie
Chrome 126
- Zwiększanie limitu maxTextureSlateWarstwy
- Optymalizacja przesyłania buforów w backendzie Vulkan
- Skrócony czas kompilacji shadera
- Przesłane bufory poleceń muszą być unikalne
- Informacje o świcie
Chrome 125
Chrome 124
- Tekstury pamięci masowej przeznaczone tylko do odczytu oraz do odczytu i zapisu
- Obsługa pracowników Service Worker i pracowników współużytkowanych
- Nowe atrybuty informacji o adapterze
- Poprawki błędów.
- Informacje o świcie
Chrome 123
- Obsługa wbudowanych funkcji DP4a w języku WGSL
- Nieograniczone parametry wskaźnika w WGSL
- Składnikowy cukier do dereferencji 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ększanie zasięgu dzięki trybowi zgodności (funkcja w trakcie opracowywania)
- Zwiększanie limitu maxVertexAttributes
- Informacje o świcie
Chrome 121
- Obsługa WebGPU na Androidzie
- Używanie DXC zamiast FXC do kompilowania danych do cieniowania w systemie Windows
- Zapytania dotyczące sygnatury czasowej w kartach obliczeń i renderowania
- Domyślne punkty wejścia do modułów cieniowania
- Obsługuj display-p3 jako przestrzeń kolorów GPUExternalTexture
- Informacje o stertach pamięci
- Informacje o świcie
Chrome 120
- Obsługa 16-bitowych wartości zmiennoprzecinkowych w WGSL
- Przesuwaj granice
- Zmiany stanu szablonu z głębokością
- Aktualizacje informacji o karcie
- Kwantyzacja zapytań dotyczących sygnatury czasowej
- Funkcje sprzątania przed wiosną
Chrome 119
- Filtrowalne 32-bitowe tekstury zmiennoprzecinkowe
- format wierzchołkowy unorm10-10-10-2
- Format tekstury rgb10a2uint
- Informacje o świcie
Chrome 118
- Obsługa HTMLImageElement i ImageData w
copyExternalImageToTexture()
- Eksperymentalna obsługa tekstury pamięci do odczytu i zapisu oraz tylko do odczytu
- Informacje o świcie
Chrome 117
- Nieskonfigurowany bufor wierzchołkowy
- Nieskonfigurowana grupa powiązań
- Wyciszaj błędy tworzenia potoku asynchronicznego w przypadku utraty urządzenia
- Zmiany związane z tworzeniem modułu cieniowania SPIR-V
- Polepszanie obsługi dla programistów
- Potoki pamięci podręcznej z układem generowanym automatycznie
- Informacje o świcie
Chrome 116
- Integracja z WebCodecs
- Utracone urządzenie zwrócone przez GPUAdapter
requestDevice()
- Odtwarzaj płynnie po wywołaniu
importExternalTexture()
- Zgodność ze specyfikacją
- Polepszanie obsługi dla programistów
- Informacje o świcie
Chrome 115
- Obsługiwane rozszerzenia języka WGSL
- Eksperymentalna obsługa interfejsu Direct3D 11
- Domyślnie używaj dyskretnego GPU przy zasilaniu sieciowym
- Polepszanie obsługi dla programistów
- Informacje o świcie
Chrome 114
- Optymalizacja JavaScriptu
- Funkcja getCurrentTexture() w nieskonfigurowanym obszarze roboczym powoduje zgłoszenie nieprawidłowego stanu błędu
- Aktualizacje WGSL
- Informacje o świcie