Wat is er nieuw in WebGPU (Chrome 143)

François Beaufort
François Beaufort

Gepubliceerd: 19 november 2025

Textuurcomponent swizzle

Het is nu mogelijk om de kleurcomponenten uit de rode, groene, blauwe en alfa-kanalen van texturen opnieuw te rangschikken of te vervangen wanneer deze door een shader worden benaderd.

Wanneer de functie "texture-component-swizzle" beschikbaar is in een GPUAdapter, vraag dan een GPUDevice met deze functie aan en maak een GPUTextureView aan door createView() aan te roepen met een nieuwe swizzle optie. Deze waarde is een string van lengte vier, waarbij elk teken respectievelijk is gekoppeld aan de rode, groene, blauwe en alfacomponenten van de weergave. Elk teken kan:

  • "r" : Haal de waarde uit het rode kanaal van de textuur.
  • "g" : Haal de waarde uit het groene kanaal van de textuur.
  • "b" : Haal de waarde uit het blauwe kanaal van de textuur.
  • "a" : Haal de waarde uit het alfakanaal van de textuur.
  • "0" : Forceer de waarde naar 0.
  • "1" : Forceer de waarde naar 1.

Zie het volgende fragment en de chromestatus-invoer .

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...

Verwijder bgra8unorm alleen-lezen opslagtextuurgebruik

Zoals eerder aangekondigd , is het gebruik van het "bgra8unorm" -formaat met alleen-lezen opslagtexturen nu verwijderd. De WebGPU-specificatie staat dit expliciet niet toe, en de eerdere toestemming in Chrome was een bug, aangezien dit formaat bedoeld is voor alleen-schrijven en niet overdraagbaar is. Zie probleem 427681156 .

Dawn-updates

Een validatiefout die optrad bij het wissen van een 3D-textuur in Vulkan is opgelost. Zie probleem 443950688.

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 143

Chroom 142

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