WORK IN PROGRESS
Feature Level | Compiler | WDDM | Notable features for compute |
---|---|---|---|
5.1 | FXC | 2.0 (Windows 10 - 1507) | Supported by all DX12 devices. |
6.0 | DXC | 2.1 (Windows 10 - 1607) | Wave intrinsics; optional support for 64-bit integers. |
6.1 | DXC | 2.3 (Windows 10 - 1709) | - |
6.2 | DXC | 2.4 (Windows 10 - 1803) | Explicit support for 16-bit data types. |
6.3 | DXC | 2.5 (Windows 10 - 1809) | - |
6.4 | DXC | 2.6 (Windows 10 - 1903) | Packed dot-product intrinsics. |
6.5 | DXC | 2.7 (Windows 10 - 2004) | Additional wave intrinsics. |
6.6 | DXC | 2.9 (Windows 10 - ?) | New atomic operations; additional wave intrinsics. |
Compute shaders before model 6 present an execution model that does not reflect grouping of threads into waves. Newer model allows you to write wave-level instructions to leverage the reality of how thread groups are scheduled in hardware.
https://github.com/Microsoft/DirectXShaderCompiler/wiki/Wave-Intrinsics
https://github.com/microsoft/DirectXShaderCompiler/wiki/16-Bit-Scalar-Types
- Compute Shader Stage - D3D11 Spec. Covers aspects of the compute shader stage in the D3D11 API. Ignoring the specific D3D11 API calls, much of this is still relevant in D3D12. Some constraints in this doc no longer exist in D3D12 (e.g. binding slots, hiding of thread waves) and DXBC is superseded by DXIL in newer shader models.
- Shader Models
- Shader Models vs Shader Profiles