Novidades da WebGPU (Chrome 151-152)

François Beaufort
François Beaufort

Publicado em 12 de agosto de 2026

Controle de tamanho do subgrupo

Definir o tamanho do subgrupo de um pipeline de computação usando o atributo @subgroup_size em sombreadores de computação WGSL é útil para otimizar a performance do sombreador de computação ao usar operações de subgrupo em plataformas específicas, como cargas de trabalho de IA.

Para usar o controle de tamanho do subgrupo no WGSL, verifique se o recurso "subgroup-size-control" está disponível no GPUAdapter e solicite um GPUDevice com esse recurso ativado. No código WGSL, adicione explicitamente enable subgroups; e enable subgroup_size_control;. Em seguida, declare o atributo @subgroup_size para garantir que o sombreador de computação seja executado em um tamanho de subgrupo específico (que precisa ser uma potência de 2) dentro do intervalo de subgroupMinSize e subgroupMaxSize fornecido pelo adaptador, definindo @builtin(subgroup_size) para corresponder. Sem esse atributo, o tamanho do subgrupo é selecionado dinamicamente pelo driver da GPU e permanece desconhecido antes da execução.

Consulte o exemplo a seguir e a intenção de envio.

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

Um agradecimento especial aos nossos parceiros da Intel pelo excelente trabalho.

OperationError para falhas de validação de setImmediates

Para se alinhar à especificação da WebGPU, as falhas de validação de dataOffset ou size em setImmediates geram um OperationError em vez de um RangeError. Consulte CL chromium:7977566.

Atualizações do Dawn

O suporte experimental para o formato de vértice snorm10-10-10-2 está disponível no alternância "allow_unsafe_apis". O formato wgpu::VertexFormat::Snorm10_10_10_2 representa um vetor de quatro componentes com números inteiros normalizados assinados de 10 bits para os canais RGB e um componente Alfa de 2 bits. Consulte o problema dawn:536160421.

O OpenGL agora oferece suporte a anexos temporários para formatos de textura que contêm profundidade ou estêncil. Consulte o problema dawn:462577182.

Isso abrange apenas alguns dos principais destaques. Confira a lista exaustiva de commits.

Novidades na WebGPU

Uma lista de tudo o que foi abordado na série Novidades na 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