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 interne prestaties van Tint te verbeteren, de WGSL-compiler, is voltooid. Een Intermediate Representation (IR) is in de backend ingevoegd tussen de huidige Abstract Syntax Tree (AST) en de backend-codegenerators. De introductie van de IR stelde het Chrome-team in staat om alle AST-transformaties te verwijderen en deze opnieuw te creëren als IR-transformaties, die, dankzij architectuurverschillen, aanzienlijk sneller zijn. De interne prestaties van Tint zijn op sommige platforms tot wel zeven keer sneller geworden dankzij deze wijzigingen.

Deze nieuwe IR biedt aanzienlijke mogelijkheden voor geavanceerde, grootschalige shaderanalyse en -transformatie. Dit belooft niet alleen aanzienlijke prestatieverbeteringen, maar zorgt er ook voor dat Chrome op termijn soepeler nieuwe, interessante WebGPU-functies kan leveren.

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

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

Analyse van gehele getallen in de WGSL-compiler

Het Chrome-team is bezig met de uitrol van een nieuwe integer-bereikanalyse voor Tint, de compiler voor de WebGPU-shadertaal. De integer-bereikanalyse schat de minimale en maximale waarden 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 van kostbare grenscontroles te verminderen en zal binnenkort standaard op alle platforms worden ingeschakeld. Zie probleem 348701956 .

SPIR-V 1.4-update voor Vulkan-backend

Ondersteuning voor SPIR-V 1.4 is 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 probleem 427717267 .

Dawn-updates

De gestandaardiseerde webgpu.h header, die de kern van de WebGPU C API definieert, wordt nu eindelijk als stabiel beschouwd. Deze stabiliteit geldt specifiek voor de kern-API die upstream is gedefinieerd, exclusief implementatie-extensies (bijvoorbeeld van Dawn of Emdawnwebgpu). Het is daarom het beste om de webgpu.h te gebruiken die wordt geleverd door de exacte implementatie waarnaar u linkt. Hoewel de header stabiel is, kunt u nog steeds onbedoelde verschillen tussen implementaties tegenkomen terwijl we bugs blijven oplossen en de compatibiliteit binnen het ecosysteem verbeteren. Als u dit doet, meld dit dan als bug .

Dankzij externe medewerker William Candillon kun je nu kant-en-klare Dawn-binaries als artefacten vinden op GitHub Actions. Deze omvatten 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 behandelt slechts enkele van de belangrijkste hoogtepunten. Bekijk de volledige lijst met commits .

Wat is er nieuw in WebGPU

Een lijst met alles wat in de serie Wat is er nieuw in WebGPU is behandeld.

Chroom 141

Chroom 140

Chroom 139

Chroom 138

Chroom 137

Chroom 136

Chroom 135

Chroom 134

Chroom 133

Chroom 132

Chroom 131

Chroom 130

Chroom 129

Chroom 128

Chroom 127

Chroom 126

Chroom 125

Chroom 124

Chroom 123

Chroom 122

Chroom 121

Chroom 120

Chroom 119

Chroom 118

Chroom 117

Chroom 116

Chroom 115

Chroom 114

Chroom 113

,

François Beaufort
François Beaufort

Gepubliceerd: 24 september 2025

Tint IR voltooid

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

Deze nieuwe IR biedt aanzienlijke mogelijkheden voor geavanceerde, grootschalige shaderanalyse en -transformatie. Dit belooft niet alleen aanzienlijke prestatieverbeteringen, maar zorgt er ook voor dat Chrome op termijn soepeler nieuwe, interessante WebGPU-functies kan leveren.

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

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

Analyse van gehele getallen in de WGSL-compiler

Het Chrome-team is bezig met de uitrol van een nieuwe integer-bereikanalyse voor Tint, de compiler voor de WebGPU-shadertaal. De integer-bereikanalyse schat de minimale en maximale waarden 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 van kostbare grenscontroles te verminderen en zal binnenkort standaard op alle platforms worden ingeschakeld. Zie probleem 348701956 .

SPIR-V 1.4-update voor Vulkan-backend

Ondersteuning voor SPIR-V 1.4 is 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 probleem 427717267 .

Dawn-updates

De gestandaardiseerde webgpu.h header, die de kern van de WebGPU C API definieert, wordt nu eindelijk als stabiel beschouwd. Deze stabiliteit geldt specifiek voor de kern-API die upstream is gedefinieerd, exclusief implementatie-extensies (bijvoorbeeld van Dawn of Emdawnwebgpu). Het is daarom het beste om de webgpu.h te gebruiken die wordt geleverd door de exacte implementatie waarnaar u linkt. Hoewel de header stabiel is, kunt u nog steeds onbedoelde verschillen tussen implementaties tegenkomen terwijl we bugs blijven oplossen en de compatibiliteit binnen het ecosysteem verbeteren. Als u dit doet, meld dit dan als bug .

Dankzij externe medewerker William Candillon kun je nu kant-en-klare Dawn-binaries als artefacten vinden op GitHub Actions. Deze omvatten 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 behandelt slechts enkele van de belangrijkste hoogtepunten. Bekijk de volledige lijst met commits .

Wat is er nieuw in WebGPU

Een lijst met alles wat in de serie Wat is er nieuw in WebGPU is behandeld.

Chroom 141

Chroom 140

Chroom 139

Chroom 138

Chroom 137

Chroom 136

Chroom 135

Chroom 134

Chroom 133

Chroom 132

Chroom 131

Chroom 130

Chroom 129

Chroom 128

Chroom 127

Chroom 126

Chroom 125

Chroom 124

Chroom 123

Chroom 122

Chroom 121

Chroom 120

Chroom 119

Chroom 118

Chroom 117

Chroom 116

Chroom 115

Chroom 114

Chroom 113