readonly_and_readwrite_storage_textures
WGSL language feature
Specification: WGSL § readonly_and_readwrite_storage_textures
Check navigator.gpu?.wgslLanguageFeatures?.has('readonly_and_readwrite_storage_textures')
before choosing a shader that uses this language feature. It is available automatically
when supported; requires readonly_and_readwrite_storage_textures; 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.
A storage texture can be declared with an access mode such as texture_storage_2d<r32float, read_write>, allowing both textureLoad and textureStore through that resource. This language extension also adds textureBarrier() for ordering storage-texture memory accesses within a compute workgroup.
Image-processing and simulation kernels can use these access modes to work with storage images directly. The host-side bind-group layout uses "read-only" or "read-write", while WGSL spells those modes read and read_write. The texture must have STORAGE_BINDING usage, and its format must support the requested access; texture-formats-tier2 expands the read-write choices.
The extension does not make texture updates atomic or synchronize different workgroups. Use distinct input and output images for algorithms with overlapping updates, or divide work into separate dispatches. On older language implementations, a sampled input texture and a write-only storage output provide a common fallback.
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.