packed_4x8_integer_dot_product
WGSL language feature
Specification: WGSL § packed_4x8_integer_dot_product
Check navigator.gpu?.wgslLanguageFeatures?.has('packed_4x8_integer_dot_product')
before choosing a shader that uses this language feature. It is available automatically
when supported; requires packed_4x8_integer_dot_product; documents the dependency
and rejects the shader on unsupported implementations. This language token is not a
requiredFeatures entry for requestDevice(); any additional
device requirements are described below.
The dot4U8Packed and dot4I8Packed built-ins interpret each u32 argument as four unsigned or signed 8-bit lanes and return their integer dot product. Helpers such as pack4xU8, pack4xI8Clamp, and unpack4xI8 convert between packed scalars and four-component integer vectors.
Quantized machine-learning kernels can use these operations to keep weights and activations compact while calculating several integer products at once. Match the lane order and signedness to the asset or tensor encoding; quantization scales and zero-point corrections are still the application’s responsibility.
Language support does not promise a particular native instruction or speedup on every GPU. Benchmark the whole kernel, including packing and memory access. Without the extension, extract the bytes with shifts and masks, sign-extend signed lanes, and accumulate the products using ordinary integer arithmetic.
Availability by month
| Month | With feature | Eligible reports | Availability |
|---|---|---|---|
| 2026-08 | 106 | 106 | 100.0% |
| 2026-09 | 36 | 36 | 100.0% |
By browser (last 30 days)
| Browser | Availability | n |
|---|---|---|
| chrome | 100.0% | 90 |
| edge | 100.0% | 8 |
| firefox | 100.0% | 44 |
Availability = share of first-party, non-quarantined reports with WebGPU on a hardware
(non-fallback) adapter
whose browser reports this token in navigator.gpu.wgslLanguageFeatures.
This measures language support in the browser, not a GPU hardware capability.
Developer-leaning sample.
Full methodology.