Nowości w WebGPU (Chrome 151–152)

François Beaufort
François Beaufort

Opublikowano: 12 sierpnia 2026 r.

Kontrola rozmiaru podgrupy

Ustawienie rozmiaru podgrupy w potoku obliczeniowym za pomocą atrybutu @subgroup_size w cieniach obliczeniowych WGSL jest korzystne w przypadku optymalizacji wydajności cieni obliczeniowych podczas korzystania z operacji na podgrupach na określonych platformach, np. w przypadku zadań związanych ze sztuczną inteligencją.

Aby używać kontroli rozmiaru podgrupy w WGSL, sprawdź, czy funkcja "subgroup-size-control" jest dostępna w GPUAdapter, a następnie poproś o GPUDevice z włączoną tą funkcją. W kodzie WGSL wyraźnie dodaj enable subgroups; i enable subgroup_size_control;. Następnie możesz zadeklarować atrybut @subgroup_size, aby zagwarantować, że cień obliczeniowy będzie działać z określonym rozmiarem podgrupy (który musi być potęgą 2) w zakresie subgroupMinSize i subgroupMaxSize podanym przez adapter, ustawiając @builtin(subgroup_size) tak, aby pasował. Bez tego atrybutu rozmiar podgrupy jest wybierany dynamicznie przez sterownik GPU i pozostaje nieznany przed wykonaniem.

Zobacz ten przykład i zamiar wprowadzenia tej funkcji.

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.
  }`,
});

Dziękujemy naszym partnerom z firmy Intel za ich znakomitą pracę.

OperationError w przypadku błędów weryfikacji setImmediates

Aby zachować zgodność ze specyfikacją WebGPU, błędy weryfikacji dataOffset lub size w setImmediates powodują zgłoszenie OperationError zamiast RangeError. Zobacz CL chromium:7977566.

Aktualizacje Dawn

Eksperymentalna obsługa formatu wierzchołków snorm10-10-10-2 jest dostępna za przełącznikiem „allow_unsafe_apis”. Format wgpu::VertexFormat::Snorm10_10_10_2 reprezentuje wektor 4-składnikowy zawierający 10-bitowe podpisane znormalizowane liczby całkowite dla kanałów RGB i 2-bitowy składnik alfa. Zobacz problem dawn:536160421.

OpenGL obsługuje teraz tymczasowe załączniki do formatów tekstur zawierających głębię lub szablon. Zobacz problem dawn:462577182.

To tylko niektóre z najważniejszych informacji. Zapoznaj się z pełną listą commitów.

Co nowego w WebGPU

Lista wszystkich funkcji omówionych w serii Co nowego w WebGPU.

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