Feature Level
Aus indiedev
Mit DirectX 11 wurden die sogenannten Feature Level eingeführt, mit denen es möglich ist ein DirectX Programm auf unterschiedlichen Grafikkarten, die unterschiedliche Features unterstützten, laufen zu lassen. Damit ist es möglich geworden, dass ein DirectX 11 Programm auch auf einer Grafikkarte läuft, die nur DirectX 9 oder 10 Features unterstützt. Gleichzeitig wurden gewisse Mindeststandards fest vorgeschrieben, die sicherstellen, dass eine Grafikkarte der jeweiligen Klasse alle notwendigen Features unterstützt.
| 11.1 | 11.0 | 10.1 | 10.0 | 9.3 | 9.2 | 9.1 | |
|---|---|---|---|---|---|---|---|
| Shader Modell | 5.0 | 5.0 | 4.x | 4.0 | 4.0 (4.0_level_9_3) | 2.0 | 2.0 |
| Geometry Shader | Ja | Ja | Ja | Ja | Nein | Nein | Nein |
| Stream Out | Ja | Ja | Ja | Ja | Nein | Nein | Nein |
| DirectCompute / Compute Shader | Ja | Ja | Optional | Optional | Nein | Nein | Nein |
| Hull Shader | Ja | Ja | Nein | Nein | Nein | Nein | Nein |
| Domain Shader | Ja | Ja | Nein | Nein | Nein | Nein | Nein |
| Texture Resource Array | Ja | Ja | Ja | Ja | Nein | Nein | Nein |
| Cubemap Resoure Arrays | Ja | Ja | Ja | Nein | Nein | Nein | Nein |
| BC4/BC5 Kompression | Ja | Ja | Ja | Ja | Nein | Nein | Nein |
| BC6H/BC7 Kompression | Ja | Ja | Nein | Nein | Nein | Nein | Nein |
| Alpha to coverage | Ja | Ja | Ja | Ja | Nein | Nein | Nein |
| Erweiterte Formate | Ja | Ja | Optional | Optional | Ja | Ja | Ja |
| 10-bit XR High Color Format | Ja | Ja | Optional | Optional | Nein | Nein | Nein |
| Logische Operationen (Output Merger) | Ja | Optional | Optional | Optional | Nein | Nein | Nein |
| Rasterisierung unabhängig vom Target | Ja | Nein | Nein | Nein | Nein | Nein | Nein |
| MRT mit ForcedSampleCount 1 | Ja | Optional | Optional | Optional | Nein | Nein | Nein |
| UAV Slots | 64 | 8 | 1 | 1 | - | - | - |
| UAV in jeder Stage | Ja | Nein | Nein | Nein | Nein | Nein | Nein |
| max. ForcedSampleCount bei Render in UAV only | 16 | 8 | - | - | - | - | - |
| Constant Buffer Offsets und teilweise Aktualisierungen | Ja | Optional | Optional | Optional | Ja | Ja | Ja |
| 16 Bit (pro Pixel) Formate | Ja | Optional | Optional | Optional | Optional | Optional | Optional |
| max. Texturgröße | 16384 | 16384 | 8192 | 8192 | 4096 | 2048 | 2048 |
| max. Cubemapgröße | 16384 | 16384 | 8192 | 8192 | 4096 | 512 | 512 |
| max. Volumenausbreitung | 2048 | 2048 | 2048 | 2048 | 256 | 256 | 256 |
| max. Texturwiederholungen | 16384 | 16384 | 8192 | 8192 | 8192 | 2048 | 128 |
| max. Anisotropy | 16 | 16 | 16 | 16 | 16 | 16 | 2 |
| max. Anzahl Primitive | 2^32-1 | 2^32-1 | 2^32-1 | 2^32-1 | 1048575 | 1048575 | 65535 |
| max. Input Slots | 32 | 32 | 32 | 16 | 16 | 16 | 16 |
| Render Targets simultan | 8 | 8 | 8 | 8 | 4 | 1 | 1 |
| Occlusion Queries | Ja | Ja | Ja | Ja | Ja | Ja | Nein |
| Separater Alpha-Blend | Ja | Ja | Ja | Ja | Ja | Ja | Nein |
| Mirror Once | Ja | Ja | Ja | Ja | Ja | Ja | Nein |
| Überlappende Vertex-Elemente | Ja | Ja | Ja | Ja | Ja | Ja | Nein |
| Unabhängige Write Masks | Ja | Ja | Ja | Ja | Ja | Nein | Nein |
| Instancing | Ja | Ja | Ja | Ja | Ja | Nein | Nein |
| Non powers of 2 Texturen | Ja | Ja | Ja | Ja | Nein | Nein | Nein |
| Constant Buffer | Ja | Ja | Ja | Ja | Nein | Nein | Nein |
| max. Anzahl Constant Buffer je Shader | 15 | 15 | 15 | 15 | - | - | - |
| max. Anzahl Konstanten im Constant Buffer | 4096 | 4096 | 4096 | 4096 | - | - | - |
| Index-Buffer Formate | 16Bit, 32Bit | 16Bit, 32Bit | 16Bit, 32Bit | 16Bit, 32Bit | 16Bit, 32Bit | 16Bit, 32Bit | 16Bit |