-
Notifications
You must be signed in to change notification settings - Fork 342
System Requirements
This is a reference for the current known minimum OS and hardware requirements of the current draft of the WebGPU specification. Supporting all such devices is not a requirement; individual browsers may have their own, higher requirements, or block driver versions that are known to be broken.
Older WebGPU specifications may have lower requirements - for example, we may raise minimum macOS version when evergreen browsers stop shipping new versions on older OS versions.
(Note, native, non-web-exposed WebGPU implementations aren't beholden any minimum requirements here, or to the standard. So they may support older or less capable devices with feature emulation or compatibility gaps compared to the official spec.)
By category of platforms, with links to the decisions.
-
iOS/iPadOS
-
Mac Apple Silicon: all (macOS 11.0, A12z+ (Apple5))
-
Mac x86: 10.13+
- MTLGPUFamilyMac1 (but some implementations will, at least initially, require MTLGPUFamilyMac2 for indirect command buffers) - note this family has been deprecated in favor of MTLGPUFamilyMac2 (whatever that means) starting with macOS 13.0
-
D3D12: Windows 10 (first release (1507)?), FL 11_1 or (FL 11_0 + resource binding tier 2).
(D3D12 FL11_0+ = SM5.1+)
- FL docs
- Direct3D 11 only support SM5.0 or less.
- Direct3D 12 only support SM4.0 or above.
- SM5.1 and below are DXBC.
- SM6.0 and above are DXIL.
-
Android/Linux: Vulkan 1.0+(?) with:
fragmentStoresAndAtomicsfullDrawIndexUint32- BC || (ETC2 && ASTC LDR 2D)
maxImageArrayLayers≥ 256- Implicitly must have either
S8_UINTorD24_UNORM_S8_UINT(which is true universally across AMD/NVIDIA/Intel/Android), though only because the spec saysstencil8can be implemented as eitherstencil8ordepth24unorm-stencil8and doesn't mentiondepth32float-stencil8. - Vulkan 1.1, or the following extensions:
maxVertexOutputComponents >= 68 && maxFragmentInputComponents >= 68
-
Vulkan mobile hardware
- Adreno: 500+
- Mali: ?
- Haven't chosen a target, but see query results below for what should currently be supported (looks like most Mali-G51+ devices)
- PowerVR: ?
- See #3631
Useful sources:
- Metal Feature Set Tables
- macOS/iOS version required for each Metal Shading Language version
- GPUinfo.org: Vulkan 1.0 features (android) and Vulkan extensions (android) (be sure to look at other platforms too)
Moved from #1069.