blob: 5ce02f6bb4f7613d45e8046bda23d83ba5ef8bbf [file] [log] [blame] [view]
Corentin Wallez142141c2022-08-08 17:42:41 +00001# Platform and API support for Dawn/Tint
2
3## Khronos's Vulkan
4
cryvosh3f487d82024-01-08 19:50:02 +00005Vulkan is supported with minimal features, limits and extensions being required (what's required has been measured to be widely available).
Corentin Wallez142141c2022-08-08 17:42:41 +00006Vulkan is the preferred target API on platforms that don't have other "modern" GPU APIs.
7Vulkan is supported as best effort on other platforms (e.g. Windows and macOS).
8
Corentin Walleze0de7712024-04-23 14:43:34 +00009**Required version**: Vulkan 1.1.
Corentin Wallez142141c2022-08-08 17:42:41 +000010
11**Required features**: `depthBiasClamp`, `fragmentStoresAndAtomics`, `fullDrawIndexUint32`, `imageCubeArray`, `independentBlend`, `sampleRateShading`, and either `textureCompressionBC` or both of `textureCompressionETC` and `textureCompressionASTC_LDR`.
12
cryvosh3f487d82024-01-08 19:50:02 +000013**Required limits**: they are too detailed to describe here, but in general should be widely supported.
Corentin Wallez142141c2022-08-08 17:42:41 +000014See the [WebGPU limits](https://gpuweb.github.io/gpuweb/#limits) that mostly correspond to Vulkan limits.
15
16**Operating system support**:
17
18 - Linux: Supported.
19 - ChromeOS: Supported.
20 - Android: Work in progress.
21 - Fuchsia: Work in progress.
22
23## Microsoft's D3D12
24
25D3D12 is supported with feature level 11.1, or feature level 11.0 with Resource Binding Tier 2.
26This is the vast majority of D3D12 devices.
27Supported shader models are 5.1 and above. It is the preferred target API when available.
28
29**Windows flavor support**:
30
31 - Win32: Supported.
32 - UWP: Supported, best effort.
33 - Xbox: Not supported, contributions welcome.
34
35## Apple's Metal
36
37Metal is supported and is the preferred target API when available.
38
39**Apple OS support:**
40
Corentin Walleze0de7712024-04-23 14:43:34 +000041 - macOS: supported on version 10.15 and above.
Corentin Wallez142141c2022-08-08 17:42:41 +000042 - iOS: supported, best effort.
43 - tvOS/ipadOS/...: Not supported, contributions welcome.
44
45## Khronos's OpenGL family
46
47Support for OpenGL is in progress with the aim to make OpenGL ES 3.1 (with extensions and limits) supported through EGL.
48Other flavors of OpenGL (desktop OpenGL) or binding APIs (GLX, WGL, EAGL, CGL) are supported as best effort with contributions welcome.
49
Alan Cutter2219dc02023-06-01 15:35:42 +000050## Microsoft's D3D11
Corentin Wallez142141c2022-08-08 17:42:41 +000051
Corentin Walleze0de7712024-04-23 14:43:34 +000052A work-in-progress D3D11 backend is available but not considered ready for production uses yet.