Что нового в WebGPU (Chrome 151-152)

François Beaufort
François Beaufort

Published: August 12, 2026

Subgroup size control

Установка размера подгруппы вычислительного конвейера с помощью атрибута @subgroup_size в вычислительных шейдерах WGSL полезна для оптимизации производительности вычислительных шейдеров при использовании операций с подгруппами на определенных платформах, например, для рабочих нагрузок ИИ.

Для использования управления размером подгруппы в WGSL проверьте, доступна ли функция « subgroup-size-control » на GPUAdapter, а затем запросите GPUDevice с включенной этой функцией. В вашем коде WGSL явно добавьте enable subgroups; и enable subgroup_size_control; Затем вы можете объявить атрибут @subgroup_size , чтобы гарантировать, что вычислительный шейдер будет работать с определенным размером подгруппы (который должен быть степенью двойки) в диапазоне subgroupMinSize и subgroupMaxSize , предоставляемом адаптером, установив @builtin(subgroup_size) в соответствии с ним. Без этого атрибута размер подгруппы выбирается динамически драйвером GPU и остается неизвестным до выполнения.

См. следующий пример и намерение отправить товар .

const adapter = await navigator.gpu.requestAdapter();
if (!adapter.features.has("subgroup-size-control")) {
  throw new Error("Subgroup size control support is not available");
}
// Explicitly request subgroup size control support.
const device = await adapter.requestDevice({
  requiredFeatures: ["subgroup-size-control"],
});

const shaderModule = device.createShaderModule({ code: `
  enable subgroups;
  enable subgroup_size_control;

  @subgroup_size(32)
  @compute @workgroup_size(64, 1, 1)
  fn main(@builtin(subgroup_invocation_id) sg_id : u32,
          @builtin(subgroup_size) sg_size : u32) {
     // TODO: Compute shader logic using specific subgroup size.
  }`,
});

Выражаем особую благодарность нашим партнерам из Intel за их выдающуюся работу!

Ошибка OperationError при проверке метода setImmediates.

В соответствии со спецификацией WebGPU , ошибки проверки для dataOffset или size в setImmediates вызывают OperationError вместо RangeError . См. CL chromium:7977566 .

Dawn updates

Экспериментальная поддержка формата вершин snorm10-10-10-2 доступна при включении переключателя " allow_unsafe_apis ". Формат wgpu::VertexFormat::Snorm10_10_10_2 представляет собой четырехкомпонентный вектор, содержащий 10-битные знаковые нормализованные целые числа для каналов RGB и 2-битную альфа-компоненту. См. проблему dawn:536160421 .

В OpenGL теперь поддерживаются временные привязки для форматов текстур, содержащих глубину или трафарет. См. проблему dawn:462577182 .

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

Что нового в WebGPU?

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

Хром 151-152

Chrome 149-150

Хром 147-148

Хром 146

Chrome 145

Хром 144

Хром 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