Veröffentlicht am 19. November 2025
Swizzle für Texturkomponenten
Es ist jetzt möglich, die Farbkomponenten aus den Rot-, Grün-, Blau- und Alphakanälen der Textur neu anzuordnen oder zu ersetzen, wenn über einen Shader darauf zugegriffen wird.
Wenn die "texture-component-swizzle"-Funktion in einem GPUAdapter verfügbar ist, fordern Sie ein GPUDevice mit dieser Funktion an und erstellen Sie eine GPUTextureView, indem Sie createView() mit einer neuen swizzle-Option aufrufen. Dieser Wert ist ein String mit vier Zeichen, wobei jedes Zeichen jeweils der Rot-, Grün-, Blau- und Alphakomponente der Ansicht entspricht. Jedes Zeichen kann Folgendes sein:
"r": Der Wert wird aus dem Rotkanal der Textur übernommen."g": Der Wert wird aus dem Grünkanal der Textur übernommen."b": Der Wert wird aus dem Blaukanal der Textur übernommen."a": Der Wert wird aus dem Alphakanal der Textur übernommen."0": Der Wert wird auf 0 gesetzt."1": Der Wert wird auf 1 gesetzt.
Weitere Informationen finden Sie im folgenden Snippet und im Chrome-Status-Eintrag.
const adapter = await navigator.gpu.requestAdapter();
if (!adapter.features.has("texture-component-swizzle")) {
throw new Error("Texture component swizzle support is not available");
}
// Explicitly request texture component swizzle support.
const device = await adapter.requestDevice({
requiredFeatures: ["texture-component-swizzle"],
});
// ... Assuming myTexture is a GPUTexture with a single red channel.
// Map the view's red, green, blue components to myTexture's red channel
// and force the view's alpha component to 1 so that the shader sees it as
// a grayscale image.
const view = myTexture.createView({ swizzle: "rrr1" });
// Send the appropriate commands to the GPU...
Verwendung von schreibgeschützten Speichertexturen im Format „bgra8unorm“ entfernt
Wie bereits angekündigt, wird die Verwendung des Formats "bgra8unorm" mit schreibgeschützten Speichertexturen jetzt entfernt. Die WebGPU-Spezifikation lässt dies ausdrücklich nicht zu und die vorherige Zulassung in Chrome war ein Fehler, da dieses Format für den schreibgeschützten Zugriff vorgesehen und nicht portierbar ist. Weitere Informationen finden Sie unter Problem 427681156.
Dawn-Updates
Ein Validierungsfehler, der beim Löschen einer 3D-Textur in Vulkan aufgetreten ist, wurde behoben. Weitere Informationen finden Sie unter Problem 443950688.
Dies sind nur einige der wichtigsten Neuerungen. Eine vollständige Liste der Commits finden Sie hier.
Neuerungen in WebGPU
Eine Liste aller Themen, die in der Reihe „Neuerungen in WebGPU“ behandelt wurden.
Chrome 149–150
Chrome 147–148
Chrome 146
- Unterstützung des WebGPU-Kompatibilitätsmodus unter OpenGL ES 3.1
- Temporäre Anhänge
- WGSL-Erweiterung „texture_and_sampler_let“
- Dawn-Updates
Chrome 145
- WGSL-Erweiterung „subgroup_uniformity“
- Experimentelle synchrone Pufferzuordnung in Workern
- Dawn-Updates
Chrome 144
- WGSL-Erweiterung „subgroup_id“
- WGSL-Erweiterung „uniform_buffer_standard_layout“
- WebGPU unter Linux
- Schnellere Funktionen „writeBuffer“ und „writeTexture“
- Dawn-Updates
Chrome 143
- Swizzle für Texturkomponenten
- Verwendung von schreibgeschützten Speichertexturen im Format „bgra8unorm“ entfernt
- Dawn-Updates
Chrome 142
Chrome 141
- Tint IR abgeschlossen
- Analyse des Ganzzahlbereichs im WGSL-Compiler
- SPIR-V 1.4-Update für das Vulkan-Backend
- Dawn-Updates
Chrome 140
- Geräteanfragen nutzen Adapter
- Kurzform für die Verwendung von Texturen, wenn Texturansichten verwendet werden
- WGSL-Funktion „textureSampleLevel“ unterstützt 1D-Texturen
- Verwendung von schreibgeschützten Speichertexturen im Format „bgra8unorm“ eingestellt
- GPUAdapter-Attribut „isFallbackAdapter“ entfernt
- Dawn-Updates
Chrome 139
- Unterstützung von 3D-Texturen für komprimierte Formate vom Typ BC und ASTC
- Neue Funktion „core-features-and-limits“
- Ursprungstest für den WebGPU-Kompatibilitätsmodus
- Dawn-Updates
Chrome 138
- Kurzform für die Verwendung von Puffern als Bindungsressource
- Änderungen an den Größenanforderungen für Puffer, die bei der Erstellung zugeordnet werden
- Architekturbericht für aktuelle GPUs
- GPUAdapter-Attribut „isFallbackAdapter“ eingestellt
- Dawn-Updates
Chrome 137
- Texturansicht für die Bindung von „externalTexture“ verwenden
- Puffer ohne Angabe von Offsets und Größe kopieren
- WGSL-Funktion „workgroupUniformLoad“ mit Zeiger auf Atom verwenden
- GPUAdapterInfo-Attribut „powerPreference“
- GPURequestAdapterOptions-Attribut „compatibilityMode“ entfernt
- Dawn-Updates
Chrome 136
- GPUAdapterInfo-Attribut „isFallbackAdapter“
- Verbesserungen bei der Shader-Kompilierungszeit unter D3D12
- Canvas-Bilder speichern und kopieren
- Einschränkungen des Kompatibilitätsmodus aufgehoben
- Dawn-Updates
Chrome 135
- Erstellung von Pipeline-Layouts mit Bindungsgruppen-Layouts vom Typ „null“ zulassen
- Ansichtsfenster dürfen über die Grenzen der Renderziele hinausgehen
- Einfacherer Zugriff auf den experimentellen Kompatibilitätsmodus unter Android
- Limit für „maxInterStageShaderComponents“ entfernt
- Dawn-Updates
Chrome 134
- Arbeitslasten für maschinelles Lernen mit Untergruppen verbessern
- Unterstützung für filterbare Texturtypen vom Typ „float“ als mischbar entfernt
- Dawn-Updates
Chrome 133
- Zusätzliche Vertex-Formate vom Typ „unorm8x4-bgra“ und mit einer Komponente
- Anfrage unbekannter Limits mit undefiniertem Wert zulassen
- Änderungen an den WGSL-Ausrichtungsregeln
- WGSL-Leistungssteigerungen mit „discard“
- „VideoFrame.displaySize“ für externe Texturen verwenden
- Bilder mit nicht standardmäßigen Ausrichtungen mit „copyExternalImageToTexture“ verarbeiten
- Verbesserungen für Entwickler
- Kompatibilitätsmodus mit „featureLevel“ aktivieren
- Bereinigung experimenteller Untergruppenfunktionen
- Limit für „maxInterStageShaderComponents“ eingestellt
- Dawn-Updates
Chrome 132
- Verwendung von Texturansichten
- Mischen von 32-Bit-Gleitkomma-Texturen
- GPUDevice-Attribut „adapterInfo“
- Konfiguration des Canvas-Kontexts mit ungültigem Format löst JavaScript-Fehler aus
- Einschränkungen für Sampler auf Texturen filtern
- Erweiterte Experimente mit Untergruppen
- Verbesserungen für Entwickler
- Experimentelle Unterstützung für normalisierte 16-Bit-Texturformate
- Dawn-Updates
Chrome 131
- Clip-Entfernungen in WGSL
- GPUCanvasContext.getConfiguration()
- Punkt- und Linienprimitive dürfen keine Tiefenverzerrung haben
- Inklusive Scan-Funktionen für Untergruppen
- Experimentelle Unterstützung für „multi-draw indirect“
- Option „strict math“ für die Kompilierung von Shader-Modulen
- GPUAdapter.requestAdapterInfo() entfernt
- Dawn-Updates
Chrome 130
- Mischen mit zwei Quellen
- Verbesserungen bei der Shader-Kompilierungszeit unter Metal
- GPUAdapter.requestAdapterInfo() eingestellt
- Dawn-Updates
Chrome 129
- HDR-Unterstützung mit Canvas-Tone Mapping-Modus
- Erweiterte Unterstützung für Untergruppen
- Dawn-Updates
Chrome 128
- Experimente mit Untergruppen
- Einstellung der Tiefenverzerrung für Linien und Punkte eingestellt
- Warnung in den Entwicklertools für nicht erfasste Fehler ausblenden, wenn „preventDefault“ verwendet wird
- WGSL-Funktion „interpolate“: zuerst Sampling und dann entweder
- Dawn-Updates
Chrome 127
- Experimentelle Unterstützung für OpenGL ES unter Android
- GPUAdapter-Attribut „info“
- Verbesserungen bei der Interoperabilität von WebAssembly
- Verbesserte Fehlermeldungen für Befehlscodierer
- Dawn-Updates
Chrome 126
- Limit für „maxTextureArrayLayers“ erhöht
- Optimierung des Puffer-Uploads für das Vulkan-Backend
- Verbesserungen bei der Shader-Kompilierungszeit
- Übermittelte Befehlspuffer müssen eindeutig sein
- Dawn-Updates
Chrome 125
Chrome 124
- Schreibgeschützte und Lese-/Schreib-Speichertexturen
- Unterstützung für Service Worker und Shared Worker
- Neue Attribute für Adapterinformationen
- Diverse Fehlerkorrekturen
- Dawn-Updates
Chrome 123
- Unterstützung für integrierte DP4a-Funktionen in WGSL
- Uneingeschränkte Zeigerparameter in WGSL
- Syntaxzucker für die Dereferenzierung von Composites in WGSL
- Separater schreibgeschützter Status für Schablonen- und Tiefenaspekte
- Dawn-Updates
Chrome 122
- Reichweite mit Kompatibilitätsmodus erhöhen (Funktion in Entwicklung)
- Limit für „maxVertexAttributes“ erhöht
- Dawn-Updates
Chrome 121
- Unterstützung für WebGPU unter Android
- DXC anstelle von FXC für die Shader-Kompilierung unter Windows verwenden
- Zeitstempelabfragen in Compute- und Render-Passes
- Standardmäßige Einstiegspunkte für Shader-Module
- Unterstützung für „display-p3“ als GPUExternalTexture-Farbraum
- Informationen zu Arbeitsspeicher-Heaps
- Dawn-Updates
Chrome 120
- Unterstützung für 16-Bit-Gleitkommawerte in WGSL
- Limits überschreiten
- Änderungen am Tiefen-/Schablonenstatus
- Updates für Adapterinformationen
- Quantisierung von Zeitstempelabfragen
- Bereinigung von Funktionen
Chrome 119
- Filterbare 32-Bit-Gleitkomma-Texturen
- Vertex-Format „unorm10-10-10-2“
- Texturformat „rgb10a2uint“
- Dawn-Updates
Chrome 118
- Unterstützung für HTMLImageElement und ImageData in
copyExternalImageToTexture() - Experimentelle Unterstützung für Lese-/Schreib- und schreibgeschützte Speichertexturen
- Dawn-Updates
Chrome 117
- Vertex-Puffer aufheben
- Bindungsgruppe aufheben
- Fehler bei der asynchronen Pipeline-Erstellung ausblenden, wenn das Gerät verloren geht
- Updates für die Erstellung von SPIR-V-Shader-Modulen
- Verbesserungen für Entwickler
- Pipelines mit automatisch generiertem Layout im Cache speichern
- Dawn-Updates
Chrome 116
- WebCodecs-Integration
- Verlorenes Gerät, das von GPUAdapter zurückgegeben wird
requestDevice() - Reibungslose Videowiedergabe, wenn
importExternalTexture()aufgerufen wird - Spezifikationskonformität
- Verbesserungen für Entwickler
- Dawn-Updates
Chrome 115
- Unterstützte WGSL-Spracherweiterungen
- Experimentelle Unterstützung für Direct3D 11
- Standardmäßig diskrete GPU bei Netzstrom verwenden
- Verbesserungen für Entwickler
- Dawn-Updates
Chrome 114
- JavaScript optimieren
- „getCurrentTexture()“ für nicht konfigurierte Canvas-Elemente löst „InvalidStateError“ aus
- WGSL-Updates
- Dawn-Updates