uniform_buffer_standard_layout
WGSL language feature
Specification: WGSL § uniform_buffer_standard_layout
Check navigator.gpu?.wgslLanguageFeatures?.has('uniform_buffer_standard_layout')
before choosing a shader that uses this language feature. It is available automatically
when supported; requires uniform_buffer_standard_layout; 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.
Without this extension, uniform-buffer layouts impose extra constraints on arrays and nested structures, including 16-byte alignment requirements that do not apply in the same way to storage buffers. The extension lets uniform data use the standard WGSL layout constraints instead; for example, an array of f32 can have a four-byte element stride.
This can reduce padding in material parameters and small lookup tables, and make it easier to share host-side packing code between uniform and storage data. It does not eliminate normal WGSL alignment: types such as vec3<f32> still have their specified alignment, and binding-offset alignment remains a separate WebGPU limit.
The host’s byte layout must exactly match the selected shader layout. If you support older browsers, keep a padded uniform representation using explicit wrapper structures or size and alignment attributes, and pack the CPU data accordingly. Switching only the shader while retaining an incompatible host layout produces incorrect reads.
Availability by month
| Month | With feature | Eligible reports | Availability |
|---|---|---|---|
| 2026-08 | 70 | 106 | 66.0% |
| 2026-09 | 26 | 36 | 72.2% |
By browser (last 30 days)
| Browser | Availability | n |
|---|---|---|
| chrome | 97.8% | 90 |
| edge | 100.0% | 8 |
| firefox | 0.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.