Wat is er nieuw in WebGPU (Chrome 141),Wat is er nieuw in WebGPU (Chrome 141)

François Beaufort
François Beaufort

Gepubliceerd: 24 september 2025

Tint IR voltooid

Een langlopend project (meer dan 2,5 jaar) om de prestaties van de interne werking van Tint, de WGSL-compiler, te verbeteren, is afgerond. Er is een Intermediate Representation (IR) ingevoegd in de backend tussen de huidige Abstract Syntax Tree (AST) en de backend-codegeneratoren. De introductie van de IR stelde het Chrome-team in staat om alle AST-transformaties te verwijderen en opnieuw te creëren als IR-transformaties, die vanwege architectonische verschillen aanzienlijk sneller zijn. De interne werking van Tint is op sommige platforms tot wel zeven keer sneller geworden dankzij deze wijzigingen.

Deze nieuwe IR ontsluit aanzienlijke mogelijkheden voor geavanceerde, grootschalige shaderanalyse en -transformatie, wat niet alleen opmerkelijke prestatieverbeteringen belooft, maar ook een soepeler traject biedt voor Chrome om in de toekomst spannende nieuwe WebGPU-functies te introduceren.

Vanaf deze mijlpaal werken alle backend-codegeneratoren vanuit de IR-representatie, zijn alle AST-transformaties verwijderd en is alle ondersteunende code voor het uitvoeren van de transformaties verwijderd.

Als onderdeel van de verbetering van IR is de SPIR-V-frontend (die door applicaties wordt gebruikt om SPIR-V naar WGSL te converteren) omgezet van het genereren van een AST-representatie naar het direct genereren van IR. Deze verbetering introduceert ook langverwachte functies zoals ondersteuning voor float 16 in de SPIR-V-frontend.

Analyse van gehele getallenbereiken in de WGSL-compiler

Het Chrome-team introduceert geleidelijk een nieuwe analyse van het bereik van gehele getallen voor Tint, de shader-taalcompiler voor WebGPU. Deze analyse schat de minimum- en maximumwaarden die een integer-variabele kan aannemen tijdens de uitvoering van een programma, zonder het programma daadwerkelijk uit te voeren.

Deze functie is bedoeld om de efficiëntie te verbeteren door de noodzaak voor kostbare grenscontroles te verminderen en zal binnenkort standaard op alle platforms worden ingeschakeld. Zie issue 348701956 .

SPIR-V 1.4-update voor Vulkan-backend

Ondersteuning voor SPIR-V 1.4 wordt uitgerold waar beschikbaar op Android- en ChromeOS-apparaten. Deze update stelt Tint, de WGSL-compiler, in staat om te profiteren van nieuwe SPIR-V-functies, versoepelingen en nieuwe instructies voor efficiëntere codegeneratie in bepaalde scenario's bij het compileren van Vulkan-shaders. Zie issue 427717267 .

Dawn-updates

De gestandaardiseerde header webgpu.h , die de kern-API van WebGPU C definieert, wordt nu eindelijk als stabiel beschouwd. Deze stabiliteit geldt specifiek voor de kern-API die stroomopwaarts is gedefinieerd, en niet voor implementatie-uitbreidingen (bijvoorbeeld van Dawn of Emdawnwebgpu). Het is daarom aan te raden de webgpu.h te gebruiken die wordt geleverd door de exacte implementatie waartegen u linkt. Hoewel de header stabiel is, kunt u nog steeds onbedoelde verschillen tussen implementaties tegenkomen, aangezien we doorgaan met het oplossen van bugs en het verbeteren van de compatibiliteit binnen het ecosysteem. Als u dit doet, kunt u een bug melden .

Dankzij externe bijdrager William Candillon zijn vooraf gecompileerde Dawn-binaries nu beschikbaar als artefacten op GitHub Actions. Deze bevatten statische .lib-bestanden voor Android, een .XCFramework-bundel voor Apple en alle benodigde headerbestanden. Zie Dawn PR #39 en een voorbeeld van de artefacten.

Dit is slechts een greep uit de belangrijkste hoogtepunten. Bekijk de volledige lijst met commits .

Wat is er nieuw in WebGPU?

Een lijst van alles wat in de serie ' Wat is nieuw in WebGPU' aan bod is gekomen.

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