Что нового в WebGPU (Chrome 143)

Франсуа Бофор
François Beaufort

Опубликовано: 19 ноября 2025 г.

Компонент текстуры перемешивается

Теперь можно переупорядочивать или заменять цветовые компоненты красного, зеленого, синего и альфа-каналов текстуры при доступе к ним шейдера.

Если в GPUAdapter доступна функция "texture-component-swizzle" , запросите GPUDevice с этой функцией и создайте GPUTextureView, вызвав createView() с новым параметром swizzle . Это значение представляет собой строку длиной четыре символа, каждый из которых соответствует красному, зелёному, синему и альфа-компонентам представления соответственно. Каждый символ может быть:

  • "r" : берёт значение из красного канала текстуры.
  • "g" : берёт значение из зелёного канала текстуры.
  • "b" : берёт значение из синего канала текстуры.
  • "a" : берёт значение из альфа-канала текстуры.
  • "0" : принудительно установить значение 0.
  • "1" : принудительно установить значение 1.

См. следующий фрагмент и запись chromestatus .

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

Удалить bgra8unorm использование текстур только для чтения хранилища

Как было объявлено ранее, использование формата "bgra8unorm" с текстурами, доступными только для чтения, теперь прекращено. Спецификация WebGPU явно запрещает это, а его прежняя поддержка в Chrome была ошибкой, поскольку этот формат предназначен только для записи и не является переносимым. См. проблему 427681156 .

Обновления Dawn

Исправлена ​​ошибка проверки, возникавшая при очистке 3D-текстуры в Vulkan. См. проблему 443950688.

Здесь рассматриваются лишь некоторые из ключевых моментов. Ознакомьтесь с полным списком коммитов .

Что нового в WebGPU

Список всего, что было рассмотрено в серии «Что нового в WebGPU» .

Хром 143

Хром 142

Хром 141

Хром 140

Хром 139

Хром 138

Хром 137

Хром 136

Хром 135

Хром 134

Хром 133

Хром 132

Хром 131

Хром 130

Хром 129

Хром 128

Хром 127

Хром 126

Хром 125

Хром 124

Хром 123

Хром 122

Хром 121

Хром 120

Хром 119

Хром 118

Хром 117

Хром 116

Хром 115

Хром 114

Хром 113