At this time, we are witnessing an incredible work of disinformation about the supported DirectX 12 features by the various GPUs currently available from AMD and NVIDIA. Personally, we do not know if some company arranges this sort-of campaign, or if it is just all due by some uninformed journalists.
What is for sure is that people need some clarifications. First of all, Direct3D 12 is an API designed to run on the currently available hardware, as long as it supports virtual memory and tiled resources.
The new API has been largely shaped around a new resource-binding model, which defines the management of textures and buffers in physical and virtual memory (dedicated or system-shared) of the graphics hardware.
In order to ensure that Direct3D 12 could support the widest range of hardware, without significant compromises that could limit the longevity of the new API, Microsoft and its partners established to divide into three “tiers” the level of support of the new resource-binding model.
Each tier is the superset of its predecessor, that is, tier 1 hardware comes with the strongest constraints about the resource-binding model, tier 3 conversely has no limitations, while tier 2 represent intermediate level of constrictions.
If we talk about the hardware on sale, the situation about the resource-binding tiers is the following:
- Tier 1: INTEL Haswell e Broadwell, NVIDIA Fermi
- Tier 2: NVIDIA Kepler, Maxwell 1.0 and Maxwell 2.0
- Tier 3: AMD GCN 1.0, GCN 1.1 and GCN 1.2
Regarding the resource binding, currently only AMD GPUs come without hardware limitations, which has been erroneously defined as a “full support” by some sources.
In addition to the three resource-binding tiers, Direct3D 12 exposes four “feature levels”, that is, four levels of capabilities, each one that states a well-defined set of hardware rendering features.
It is important to specify that these feature levels are not directly related to the resource-binding tiers; moreover, they cover only some of the rendering capabilities exposed by Direct3D 12.
Some of these capabilities are not covered at all even by the highest feature level, and all others can be individually supported by the graphics hardware (if the GPU architecture and the drivers allow them) regardless of the supported feature level.
If we talk again about the hardware on sale, the situation about the feature levels is the following:
- Feature level 11.0: NVIDIA Fermi, Kepler, Maxwell 1.0
- Feature level 11.1: AMD GCN 1.0, INTEL Haswell and Broadwell
- Feature level 12.0: AMD GCN 1.1 and GCN 1.2
- Feature level 12.1: NVIDIA Maxwell 2.0
The first two feature levels roughly coincide to the DirectX 11 levels with the same name (with some differences due the new resource binding model), while feature level 12.0 and 12.1 are new to Direct3D 12.
Despite being pleonastic, it is worth to restate that feature level 12.1 does not coincide with an imaginary “full/complete DirectX 12 support” since it does not cover many important or secondary features exposed by Direct3D 12.
Reading various “exclusive news” found around the internet, additional confusion precisely comes from the individual capabilities: some of them are once again pooled together in groups of two or three tiers, but it has to specify that each of them is completely unrelated to the other, to the three resource-binding tiers, and clearly from the four feature levels.
In the end, as regards the support of every single capability, it is currently not possible, nor appropriate, to draw up a complete and well-defined table showing the support of on sale hardware.
Unless you name is AMD, INTEL or NVIDIA, you cannot present such report with the drivers currently available on the public channels, nor with non-NDA documentation, therefore everything else is only to be considered as pure rants.