Nowości w WebGPU (Chrome 151–152)

François Beaufort
François Beaufort

Opublikowano: 12 sierpnia 2026 r.

Ustawienie rozmiaru podgrupy

Ustawienie rozmiaru podgrupy potoku obliczeniowego za pomocą atrybutu @subgroup_size w shaderach obliczeniowych WGSL jest korzystne w przypadku optymalizacji wydajności shaderów obliczeniowych podczas korzystania z operacji na podgrupach na określonych platformach, np. w przypadku zbiorów zadań AI.

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 dodaj jawnie znaki enable subgroups;enable subgroup_size_control;. Możesz następnie zadeklarować atrybut @subgroup_size, aby zagwarantować, że program cieniowania obliczeń będzie działać z określoną wielkością podgrupy (która musi być potęgą liczby 2) w zakresie subgroupMinSizesubgroupMaxSize podanym przez kartę graficzną, ustawiając wartość @builtin(subgroup_size) tak, aby pasowała do tego zakresu. Bez tego atrybutu rozmiar podgrupy jest wybierany dynamicznie przez sterownik GPU i pozostaje nieznany przed wykonaniem.

Zapoznaj się z tym przykładem i intencją wysyłki.

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

Szczególne podziękowania dla naszych partnerów z firmy Intel za ich znakomitą pracę.

OperationError w przypadku błędów weryfikacji setImmediates

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

Aktualizacje Dawn

Eksperymentalna obsługa formatu wierzchołków snorm10-10-10-2 jest dostępna po włączeniu przełącznika „allow_unsafe_apis”. Format wgpu::VertexFormat::Snorm10_10_10_2 to 4-elementowy wektor zawierający 10-bitowe liczby całkowite ze znakiem znormalizowane dla kanałów RGB i 2-bitowy komponent alfa. Zobacz problem dawn:536160421.

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

Obejmuje to tylko niektóre z najważniejszych informacji. Zapoznaj się z pełną listą zatwierdzeń.

Nowości w WebGPU

Lista wszystkich tematów omówionych w serii Nowości w WebGPU.

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