Usuń ustawienie bufora wierzchołków
Przekazywanie null
zamiast GPUBuffer
do setVertexBuffer()
w GPURenderPassEncoder
lub GPURenderBundleEncoder
pozwala cofnąć ustawienie wcześniej ustawionego bufora wierzchołków w danym przedziale. Zobacz świt problemu:1675.
// Set vertex buffer in slot 0.
myRenderPassEncoder.setVertexBuffer(0, myVertexBuffer);
// Then later, unset vertex buffer in slot 0.
myRenderPassEncoder.setVertexBuffer(0, null);
Anuluj ustawienie grupy powiązań
Przekazywanie wartości null
zamiast GPUBindGroup
do setBindGroup()
w dniu GPURenderPassEncoder
lub GPURenderBundleEncoder
pozwala anulować ustawioną wcześniej grupę powiązań w danym przedziale. Zobacz świt problemu:1675.
// Set bing group in slot 0.
myRenderPassEncoder.setBindGroup(0, myBindGroup);
// Then later, unset bind group in slot 0.
myRenderPassEncoder.setBindGroup(0, null);
Wycisz błędy podczas tworzenia potoku asynchronicznego w przypadku utraty urządzenia
Metody createComputePipelineAsync()
i createRenderPipelineAsync()
obiektu GPUDevice
zwracają obietnicę, która rozwiązuje się po zakończeniu tworzenia potoku. Od teraz błędy tworzenia potoku asynchronicznego będą wyciszone, gdy GPUDevice
będzie miał wartość lost
, aby utracone urządzenia wyglądały na jak najbardziej sprawne. Zobacz Problem z dawnym światem:1874.
Aktualizacje dotyczące tworzenia modułu cieniowania SPIR-V
Utworzenie modułu SPIR-V za pomocą createShaderModule()
powoduje teraz błąd typu, chyba że uruchomisz Chrome z flagą „Unsafe WebGPU Support” (Obsługa niebezpiecznego WebGPU), ponieważ interfejs SPIR-V nie jest częścią specyfikacji WebGPU. Przed tą zmianą z wykorzystaniem SPIR-V zamiast tego był generowany błąd GPUInternalError.
Zobacz zmianę chromium:4711911.
Poprawa wrażeń deweloperów
Komunikat o błędzie weryfikacji dla wiązań układu grup powiązań w cieniowaniu wierzchołków został ulepszony w przypadku buforów pamięci do odczytu i zapisu oraz powiązań tekstur pamięci masowej tylko do zapisu. Zobacz świt problemu:1883.
Buforowanie potoków z automatycznie generowanym układem
Potoki 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 Data wydania:1933.
Powiadomienia o świcie
wgpu::RequestAdapterOptionsBackendType
jest teraz częścią pakietu wgpu::RequestAdapterOptions
, aby ułatwić aplikacjom żądanie określonego backendu przy pobieraniu adaptera. Zobacz ten przykład i ten problem:1875.
wgpu::RequestAdapterOptions options = {
.backendType = wgpu::BackendType::D3D12};
// Request D3D12 adapter.
myInstance.RequestAdapter(&options, myCallback, myUserData);
W środowisku Node.js wdrożyliśmy kilka dodatkowych metod. Zobacz zmianę w świcie:142465.
Interfejs API C webgpu.h zmienił typ wartości logicznych z stdbool
na WGPUBool
(czyli uint32_t
). Dzięki tej zmianie interfejs API ma odpowiednik ABI w językach C i C++.
To tylko niektóre z najważniejszych kwestii. Zobacz pełną listę zatwierdzeń.
Co nowego w WebGPU
Lista wszystkich zagadnień omówionych w serii Co nowego w WebGPU.
Chrome 125
Chrome 124
- Tekstury pamięci masowej tylko do odczytu i do odczytu i zapisu
- Skrypty service worker i współdzielone zasoby robocze – pomoc
- Nowe atrybuty informacji o adapterze
- Poprawki błędów
- Informacje o Dawn
Chrome 123
- Obsługa wbudowanych funkcji DP4a w języku WGSL
- Nieograniczone parametry wskaźnika w WGSL
- Cukier składniowy do usuwania linków do kompozytów w WGSL
- Oddzielny stan tylko do odczytu dla aspektów szablonu i głębi
- Informacje o Dawn
Chrome 122
- Rozszerzanie zasięgu dzięki trybowi zgodności (funkcja w fazie opracowywania)
- Zwiększ limit maxVertexAttributes
- Informacje o Dawn
Chrome 121
- Obsługa WebGPU na urządzeniach z Androidem
- Do kompilacji programu do cieniowania w systemie Windows użyj DXC zamiast FXC
- Zapytania o sygnaturę czasową podczas obliczeń obliczeniowych i renderowania
- Domyślne punkty wejścia do modułów cieniowania
- Obsługuj parametr display-p3 jako przestrzeń kolorów GPUExternalTexture
- Informacje o sterach pamięci
- Informacje o Dawn
Chrome 120
- Obsługa 16-bitowych wartości zmiennoprzecinkowych w języku WGSL
- Przekrocz granice
- Zmiany stanu szablonu głębi
- Aktualizacje informacji o adapterze
- Kwantyzowanie zapytań dotyczących sygnatury czasowej
- Funkcje Wiosenne porządki
Chrome 119
- Filtrowanie 32-bitowych tekstur pływających
- formacie wierzchołków unorm10-10-10-2
- Format tekstury rgb10a2uint
- Informacje o Dawn
Chrome 118
- Obsługa formatów HTMLImageElement i ImageData w interfejsie
copyExternalImageToTexture()
- Eksperymentalna obsługa tekstur pamięci masowej tylko do odczytu i zapisu oraz tylko do odczytu
- Informacje o Dawn
Chrome 117
- Nieustawiony bufor wierzchołków
- Cofnij ustawienie grupy powiązań
- Wyciszanie błędów podczas tworzenia potoku asynchronicznego w przypadku utraty urządzenia
- Aktualizacje dotyczące tworzenia modułu cieniowania SPIR-V
- Poprawianie wrażeń deweloperów
- Potoki w pamięci podręcznej z układem generowanym automatycznie
- Informacje o Dawn
Chrome 116
- Integracja z WebCodecs
- Zgubione urządzenie zwrócone przez GPUAdapter
requestDevice()
- Zapewniaj płynne odtwarzanie filmu, jeśli zostanie wywołany element
importExternalTexture()
- Zgodność ze specyfikacją
- Poprawianie wrażeń deweloperów
- Informacje o Dawn
Chrome 115
- Obsługiwane rozszerzenia języka WGSL
- Eksperymentalna obsługa Direct3D 11
- Domyślnie korzystaj z dyskretnego GPU na zasilaniu sieciowym
- Poprawianie wrażeń deweloperów
- Informacje o Dawn
Chrome 114
- Optymalizacja JavaScriptu
- Funkcja getCurrentTexture() w nieskonfigurowanym obszarze roboczym zgłasza nieprawidłową wartość błędu
- Aktualizacje WGSL
- Informacje o Dawn