Nieuw in WebGPU (Chrome 143)

François Beaufort
François Beaufort

Gepubliceerd: 19 november 2025

Swizzle van textuurcomponent

Het is nu mogelijk om de kleurcomponenten van de rode, groene, blauwe en alfakanalen van een textuur opnieuw te rangschikken of te vervangen als ze worden geopend door een shader.

Als de functie "texture-component-swizzle" beschikbaar is in een GPUAdapter, vraag je een GPUDevice aan met deze functie en maak je een GPUTextureView door createView() aan te roepen met een nieuwe swizzle-optie. Deze waarde is een tekenreeks van 4 tekens, waarbij elk teken respectievelijk overeenkomt met de rode, groene, blauwe en alfacomponenten van de weergave. Elk teken kan een van de volgende zijn:

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

Bekijk het volgende fragment en het chromestatus-item.

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

Gebruik van alleen-lezen opslagtexturen voor bgra8unorm verwijderen

Zoals eerder aangekondigd, is het gebruik van de "bgra8unorm"-indeling met alleen-lezen opslagtexturen nu verwijderd. De WebGPU-specificatie staat dit expliciet niet toe en de eerdere toelating in Chrome was een bug, omdat deze indeling is bedoeld voor alleen-schrijftoegang en niet overdraagbaar is. Ga naar probleem 427681156.

Updates voor Dawn

Er is een validatiefout opgelost die werd gegenereerd bij het wissen van een 3D-textuur in Vulkan. Ga naar probleem 443950688.

Dit zijn maar enkele van de belangrijkste punten. Neem de uitgebreide lijst met doorvoeringen door.

Wat is er nieuw in WebGPU?

Een lijst met alles wat is behandeld in de serie Nieuw in WebGPU.

Chrome 155-156

Chrome 153-154

Chrome 151-152

Chrome 149-150

Chrome 147-148

Chrome 146

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