DX12 Feature-Level: Frühere Treiber-Updates und Tabellen
Quelle: PC Games Hardware
Seite 2:

DX12 Feature-Level: Frühere Treiber-Updates und Tabellen

97
News Carsten Spille Als bevorzugte Quelle auf Google hinzufügen

Update 26.08.2017: Radeon RX Vega 56/64 und Intel HD Graphics

Und wieder einmal gibt es Bewegung am Treiber-Markt. AMD hat mit dem 17.8.1 WHQL den ersten offiziell verfügbaren Treiber für die RX-Vega-Gamerkarten herausgebracht. Diese unterstützen wie auch Vega Frontier Edition (s. voriges Update) DirectX 12 mit Feature-Level 12_1 - und zwar mit der umfangreichsten Liste optionaler Features aller verfügbaren Desktop-Karten. Ausgerechnet jedoch die integrierte Grafik in Intels Sky- und Kaby-Lake-Prozessoren kann beziehungsweise unterstützt noch ein ganz klein wenig mehr Features - doch Standard Swizzle 64 kB sollte auch die Radeon nicht vor Probleme stellen. Zudem ist die HD Graphics natürlich absolut kein Konkurrent in Sachen Leistung.

Erstmals wird von der intel-IGP übrigens die programmierbaren Sample-Positionen für D3D12 im (niedrigsten) Tier 1 unterstützt. (D3D12_PROGRAMMABLE_SAMPLE_POSITIONS_TIER_1). Damit erlaubt es der Treiber, die Sample-Positionen fix für alle Pixel festzulegen. In Tier 2 (dem aktuell spezifizierten Maximum) können bis zu vier verschiedene Positionen in einem 4-Pixel-Quadrat festgelegt werden, die dann über den Viewport oder das Rendertarget wiederholt werden.

Aktuelle AMD-Treiber haben aus unerfindlichen Gründen den Support für FP16-Genauigkeit für Polaris-, Fiji- und vermutlich auch Tonga-Karten (das haben wir aber nicht nachgeprüft) entfernt. Zwar können die genannten Generationen bei FP16-Präzision nicht wie Vega mit doppeltem Durchsatz arbeiten, aber das Format wird nichtsdestotrotz unterstützt und kann helfen, wertvollen Registerplatz zu sparen und so die Performance zu verbessern. Allerdings gibt es unseres Wissens zurzeit noch keine Programme, die das auch nutzen.

Architektur AMD GCN 1.2/3rd Gen GCN AMD GCN 1.3/4th Gen GCN AMD GCN 1.4/5th Gen GCN Nvidia Pascal Nvidia Maxwell (2.0) Nvidia Maxwell (1.0) Nvidia Kepler Nvidia Fermi Intel Gen9
Grafikchips (Beispiele) Fiji, Tonga, Carrizo Polaris 10, Polaris 11 Vega 10 GP102, GP104, GP106 GM200, 204, 206, 208 GM107 GK104, 106, 107, 110 GF100, 104, 106, 108, 110, 118 Skylake/ Kaby Lake
Grafikkarten (Beispiele) Radeon R9 Nano, R9 Fury (X), R9 285, R9 380(X) Radeon RX 480, RX 470, RX 460 Radeon RX Vega, Vega Frontier Edition Geforce GTX-1000-Reihe, Titan X (Pascal) Geforce GTX Titan X, GTX-900-Reihe GTX-750-Reihe Geforce GTX Titan (Z, Black), GTX-600/700-Reihe Geforce GTX-400/500-Reihe HD Graphics 510 - 680, Iris (Pro)
Ausprobiert anhand von … R9 Nano RX 480 Radeon RX Vega 64 GTX 1070 GTX 980 GTX 750 Ti GTX 780 Ti GTX 570 HD Graphics 610 (Pentium G 4560)
Treiberversion 17.8.2 17.8.1 WHQL 17.8.1 WHQL 385.41 WHQL 384.76 WHQL 384.76 WHQL 384.76 WHQL 384.76 WHQL 22.20.16.4729 (15.46.2)
Direct-X-API-Support 12 12 12 12 12 12 12 12 12
Maximaler Feature-Level 12_0 12_0 12_1 12_1 12_1 11_0 11_0 11_0 12_1
Conservative Rasterization Nicht unterstützt Nicht unterstützt Tier 3 Tier 2 Tier 1 Nicht unterstützt Nicht unterstützt Nicht unterstützt Tier 3
Rasterizer Ordered Views Nicht unterstützt Nicht unterstützt Ja Ja Ja Nicht unterstützt Nicht unterstützt Nicht unterstützt Ja
Tiled Resources Tier 2 Tier 2 Tier 3 Tier 3 Tier 3 Tier 1 Tier 1 Tier 1 Tier 3
Resource Binding/Heap Tier 3/Tier 2 Tier 3/Tier 2 Tier 3/Tier 2 Tier 3/Tier 1 Tier 3/Tier 1 Tier 3/Tier 1 Tier 2/Tier 1 Tier 1/Tier 1 Tier 3/Tier 2
Cross-Adapter Row Major Texture Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Ja
VP/RT ohne GS-Emulation Ja Ja Ja Ja Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Ja
PS Specified Stencil Reference Ja Ja Ja Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Ja
Max GPU VM Bits pro Prozess/Ressource 40/40 40/40 44/44 40/40 40/40 40/40 40/40 40/40 48/38
Standard Swizzle 64KB Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Ja
Cross-Node-Sharing Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt
Minimum Precision Nur volle Präzision (32 Bit) Nur volle Präzision (32 Bit) 16 & 32 Bit Nur volle Präzision (32 Bit) Nur volle Präzision (32 Bit) Nur volle Präzision (32 Bit) Nur volle Präzision (32 Bit) Nur volle Präzision (32 Bit) 16 & 32 Bit
Double-Precision Shaders Ja Ja Ja Ja Ja Ja Ja Ja Ja
UMA/Cache Coherent UMA N. unterst./n. unterst. N. unterst./n. unterst. N. unterst./n. unterst. N. unterst./n. unterst. N. unterst./n. unterst. N. unterst./n. unterst. N. unterst./n. unterst. N. unterst./n. unterst. Ja/Ja
Sonstiges                  
Asynchronous Compute (DX12) Ja Ja Ja Jein* Nicht unterstützt* Nicht unterstützt* Nicht unterstützt* Nicht unterstützt* Nicht unterstützt**
Graphics/Compute Preemption DMA Buffer/DMA Buffer Primitive/DMA Buffer Primitive/DMA Buffer Pixel/Primitive DMA Buffer/DMA Buffer DMA Buffer/DMA Buffer DMA Buffer/DMA Buffer DMA Buffer/DMA Buffer Triangle/Pixel
Driver Command Lists (DX11) Nicht unterstützt Nicht unterstützt Nicht unterstützt Ja Ja Ja Ja Ja Ja
Max. Feature-Level in Direct X 11.x 12_0 12_0 12_1 12_1 12_1 11_0 12_1 11_0 11_1

Allgemein gilt: Je höher ein "Tier", desto besser.
*DX12-Treiber akzeptieren Befehle aus Graphics/Compute-Queue, in der Hardware werden sie jedoch nicht parallelisiert, sondern seriell ausgeführt. Laut Nvidia unterstützt Maxwell 2.0 Asynchronous Compute, "es sei derzeit im Treiber nicht aktiviert". Pascal unterstützt AC durch dynamische Zuweisung einzelner SMs an die Graphics und Compute Queues, jedoch keine Mischbeschickung eines SMs aus beiden Warps. Femi dürfte Multi-Engine nur seriell unterstützen.
** Intels gen9-Grafik unterstützt das Feature in Software, arbeitet aychron angelegte Aufgaben jedoch nur seriell ab.

Update 10.07.2017: Radeon Vega Frontier Edition in der Redaktion

Wir haben nun endlich eine der ersten in Deutschland verkauften Radeon Vega Frontier-Editionen in der Redaktion. Ein erster Test auf den gebotenen DirectX 12 Feature-Level war wie erwartet erfolgreich: Die Radeon Vega Frontier Edition unterstützt FL12_1 und schlägt im Funktionsumfang Nvidias Pascal-Generation. So wird Conservative Rasterization etwa in der höchsten Stufe "Tier 3" geboten und auch beim Resource Heap gibt es eine Stufe mehr als bei Nvidia. 44 Bit Addressraum für VM-Bits werden ebenso geboten wie FP16-Präzision.

Somit aktualisieren wir unsere Feature-Vergleichstabelle, in der die Radeon Vega (FE) nunmehr mit dem bisherigen Feature-König, der integrierten Grafik von Skylake und Kaby Lake, bei den Haupt-Features gleichzieht. Kleinere Unterschiede existieren jedoch noch.

Architektur AMD GCN 1.2/3rd Gen GCN AMD GCN 1.3/4th Gen GCN AMD GCN 1.4/5th Gen GCN Nvidia Pascal Nvidia Maxwell (2.0) Nvidia Maxwell (1.0) Nvidia Kepler Nvidia Fermi Intel Gen9
Grafikchips (Beispiele) Fiji, Tonga, Carrizo Polaris 10, Polaris 11 Vega 10 GP102, GP104, GP106 GM200, 204, 206, 208 GM107 GK104, 106, 107, 110 GF100, 104, 106, 108, 110, 118 Skylake
Grafikkarten (Beispiele) Radeon R9 Nano, R9 Fury (X), R9 285, R9 380(X) Radeon RX 480, RX 470, RX 460 Radeon Vega Frontier Edition Geforce GTX-1000-Reihe, Titan X (Pascal) Geforce GTX Titan X, GTX-900-Reihe GTX-750-Reihe Geforce GTX Titan (Z, Black), GTX-600/700-Reihe Geforce GTX-400/500-Reihe HD Graphics 510 - 580, Iris (Pro)
Ausprobiert anhand von … Fury X, R9 380X RX 480 Radeon Vega Frontier Edition GTX 1070 GTX 980 GTX 750 Ti GTX 780 Ti GTX 570 Core i7-6700K
Treiberversion 16.3.1 16.7.3 - 16.8.2 RPS 17.6 June 27th 384.76 WHQL 384.76 WHQL 384.76 WHQL 384.76 WHQL 384.76 WHQL 15.40.20.64.4404
Direct-X-API-Support 12 12 12 12 12 12 12 12 12
Maximaler Feature-Level 12_0 12_0 12_1 12_1 12_1 11_0 11_0 11_0 12_1
Conservative Rasterization Nicht unterstützt Nicht unterstützt Tier 3 Tier 2 Tier 1 Nicht unterstützt Nicht unterstützt Nicht unterstützt Tier 3
Rasterizer Ordered Views Nicht unterstützt Nicht unterstützt Ja Ja Ja Nicht unterstützt Nicht unterstützt Nicht unterstützt Ja
Tiled Resources Tier 2 Tier 2 Tier 3 Tier 3 Tier 3 Tier 1 Tier 1 Tier 1 Tier 3
Resource Binding/Heap Tier 3/Tier 2 Tier 3/Tier 2 Tier 3/Tier 2 Tier 3/Tier 1 Tier 3/Tier 1 Tier 3/Tier 1 Tier 2/Tier 1 Tier 1/Tier 1 Tier 3/Tier 2
Cross-Adapter Row Major Texture Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Ja
VP/RT ohne GS-Emulation Ja Ja Ja Ja Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Ja
PS Specified Stencil Reference Ja Ja Ja Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Ja
Max GPU VM Bits pro Prozess/Ressource 40/36 40/40 44/44 40/40 40/40 40/40 40/40 40/40 48/38
Standard Swizzle 64KB Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt
Cross-Node-Sharing Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt
Minimum Precision 16/32 Bit 16/32 Bit 16/32 Bit Full Precision Full Precision Full Precision Full Precision Volle Präzision Volle Präzision****
Double-Precision Shaders Ja Ja Ja Ja Ja Ja Ja Ja Ja
UMA/Cache Coherent UMA N. unterst./n. unterst. N. unterst./n. unterst. N. unterst./n. unterst. N. unterst./n. unterst. N. unterst./n. unterst. N. unterst./n. unterst. N. unterst./n. unterst. N. unterst./n. unterst. Ja/Ja
Sonstiges                  
Asynchronous Compute (DX12) Ja Ja Ja Ja*** Nicht unterstützt*** Nicht unterstützt*** Nicht unterstützt*** Nicht unterstützt*** Nicht unterstützt
Graphics/Compute Preemption DMA Buffer/DMA Buffer Primitive/DMA Buffer Primitive/DMA Buffer Pixel/Primitive DMA Buffer/DMA Buffer DMA Buffer/DMA Buffer DMA Buffer/DMA Buffer DMA Buffer/DMA Buffer Triangle/Pixel
Driver Command Lists (DX11) Nicht unterstützt Nicht unterstützt Nicht unterstützt Ja Ja Ja/Ja Ja/Ja Ja/Ja Nicht unterstützt
Max. Feature-Level in Direct X 11.x 12_0 12_0 12_1 12_1 12_1 11_0 11_0 11_0 11_1

***DX12-Treiber akzeptieren Befehle aus Graphics/Compute-Queue, in der Hardware werden sie jedoch nicht parallelisiert, sondern seriell ausgeführt. Laut Nvidia unterstützt Maxwell 2.0 Asynchronous Compute, "es sei derzeit im Treiber nicht aktiviert". Pascal unterstützt AC durch dynamische Zuweisung einzelner SMs an die Graphics und Compute Queues, jedoch keine Mischbeschickung eines SMs aus beiden Warps ****Unter 11.3 wird das Feature unterstützt.


Update 30.06.2016: Radeon Vega Frontier Edition wohl mit Feature-Level 12_1, neuer Geforce-Treiber bringt Feature-Upgrade für Maxwell und Fermi

Der gestern anlässlich der Lawbreakers-Beta veröffentlichte Geforce-Treiber 384.76 bringt ein Upgrade des "Resource Bindings" von Tier 2 auf (das höchste) Tier 3 für Pascal- und Maxwell-basierte Geforce-Karten wie die GTX 1000/900-Reihe sowie die GTX 750 und 750 Ti (beide Maxwell 1.0). Bei Kepler (Geforce 600/700) gibt es keine Unterschiede zum alten Treiber, sodass Maxwell 1.0 sich erstmals in Sachen Features ein kleines bisschen absetzen kann.

Premiere für einen öffentlichen Treiber: Nvidia unterstützt mit dem 384.76-Treiber nun auch die DirectX-12-API für Fermi-basierte Geforce-Karten der 400er- und 500er-Reihe. Aufgrund von Hardware-Limitierungen allerdings nur im Feature-Level 11_0 und damit weiterhin deutlich unter dem Niveau, welches AMD seit 2011 mit GCN 1.0 vorgelegt hat.

Architektur AMD GCN 1.3/4th Gen GCN AMD GCN 1.2/3rd Gen GCN Nvidia Pascal Nvidia Maxwell (2.0) Nvidia Maxwell (1.0) Nvidia Kepler Nvidia Fermi Intel Gen9
Grafikchips (Beispiele) Polaris 10, Polaris 11 Fiji, Tonga, Carrizo GP102, GP104, GP106 GM200, 204, 206, 208 GM107 GK104, 106, 107, 110 GF100, 104, 106, 108, 110, 118 Skylake
Grafikkarten (Beispiele) Radeon RX 480, RX 470, RX 460 Radeon R9 Nano, R9 Fury (X), R9 285, R9 380(X) Geforce GTX-1000-Reihe, Titan X (Pascal) Geforce GTX Titan X, GTX-900-Reihe GTX-750-Reihe Geforce GTX Titan (Z, Black), GTX-600/700-Reihe Geforce GTX-400/500-Reihe HD Graphics 510 - 580, Iris (Pro)
Ausprobiert anhand von … RX 480 Fury X, R9 380X GTX 1070 GTX 980 GTX 750 Ti GTX 780 Ti GTX 570 Core i7-6700K
Treiberversion 16.7.3 - 16.8.2 16.3.1 384.76 384.76 384.76 WHQL 384.76 WHQL 384.76 WHQL 15.40.20.64.4404
Direct-X-API-Support 12 12 12 12 12 12 12 12
Maximaler Feature-Level 12_0 12_0 12_1 12_1 11_0 11_0 11_0 12_1
Conservative Rasterization Nicht unterstützt Nicht unterstützt Tier 2 Tier 1 Nicht unterstützt Nicht unterstützt Nicht unterstützt Tier 3
Rasterizer Ordered Views Nicht unterstützt Nicht unterstützt Ja Ja Nicht unterstützt Nicht unterstützt Nicht unterstützt Ja
Tiled Resources Tier 2 Tier 2 Tier 3 Tier 3 Tier 1 Tier 1 Tier 1 Tier 3
Resource Binding/Heap Tier 3/Tier 2 Tier 3/Tier 2 Tier 3/Tier 1 Tier 3/Tier 1 Tier 3/Tier 1 Tier 2/Tier 1 Tier 1/Tier 1 Tier 3/Tier 2
Cross-Adapter Row Major Texture Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Ja
VP/RT ohne GS-Emulation Ja Ja Ja Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Ja
PS Specified Stencil Reference Ja Ja Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Ja
Max GPU VM Bits pro Prozess/Ressource 40/40 40/36 40/40 40/40 40/40 40/40 40/40 48/38
Standard Swizzle 64KB Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt
Cross-Node-Sharing Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt
Minimum Precision 16/32 Bit 16/32 Bit Full Precision Full Precision Full Precision Volle Präzision Volle Präzision Volle Präzision****
Double-Precision Shaders Ja Ja Ja Ja Ja Ja Ja Ja
UMA/Cache Coherent UMA N. unterst./n. unterst. N. unterst./n. unterst. N. unterst./n. unterst. N. unterst./n. unterst. N. unterst./n. unterst. N. unterst./n. unterst. N. unterst./n. unterst. Ja/Ja
Sonstiges                
Asynchronous Compute (DX12) Ja Ja Ja*** Nicht unterstützt*** Nicht unterstützt*** Nicht unterstützt*** Nicht unterstützt*** Nicht unterstützt
Graphics/Compute Preemption Primitive/DMA Buffer DMA Buffer/DMA Buffer Pixel/Primitive DMA Buffer/DMA Buffer DMA Buffer/DMA Buffer DMA Buffer/DMA Buffer DMA Buffer/DMA Buffer Triangle/Pixel
Driver Command Lists (DX11) Nicht unterstützt Nicht unterstützt Ja Ja Ja/Ja Ja/Ja Ja/Ja Nicht unterstützt
Max. Feature-Level in Direct X 11.x 12_0 12_0 12_1 12_1 11_0 11_0 11_0 11_1

***DX12-Treiber akzeptieren Befehle aus Graphics/Compute-Queue, in der Hardware werden sie jedoch nicht parallelisiert, sondern seriell ausgeführt. Laut Nvidia unterstützt Maxwell 2.0 Asynchronous Compute, "es sei derzeit im Treiber nicht aktiviert". Pascal unterstützt AC durch dynamische Zuweisung einzelner SMs an die Graphics und Compute Queues, jedoch keine Mischbeschickung eines SMs aus beiden Warps ****Unter 11.3 wird das Feature unterstützt.

Erste Tests von Dritten mit der neuen Radeon Vega Frontier-Edition haben gezeigt, dass die Karte ebenfalls DirectX 12 Feature-Level 12_1 mit allen wichtigen Merkmalen in höchster Ausprägung unterstützt.

Wir haben unsere Tabelle mit den entsprechenden Geforce-Daten aktualisiert, warten derzeit noch auf eine Radeon Vega Frontier Edition oder entsprechende RX Vega für Spieler, um auch diese mit in den Vergleich aufnehmen zu können. Weder konnte AMD uns bislang eine Karte zur Verfügung stellen, noch waren passende Modelle in deutschen Online-Shops am Lager.


Update 07.09.2016: Nvidia-Treiber verbessert Preemption

Der aktuelle Nvidia-Treiber 372.70 WHQL bietet (wie auch einige seiner Vorgänger, 372.54/369.05) eine verbesserte Preemption-Granularität - allerdings nur in Verbindung mit dem Windows 10 Anniversary Update, auch als Redstone oder schlicht 1607 bekannt. Weder Maxwell, noch Pascal-Karten unter dem alten Windows 10 Threshold 2 (1511) kommen trotz derselben Treiber in den Genuss dieser Verbesserung.

Diese von Nvidia schon zum Pascal-Launch angekündigte Möglichkeit sorgt für schnellere Umschaltzeiten zum Beispiel zwischen verschiedenen Kommandoströmen oder -gruppen. Für Compute sind geometrische Primitive zumindest bei Nvidia das neue Maß der Dinge. Im Grafikbereich schlägt Nvidia den bisherigen Spitzenreiter Intel Gen9 (Skylake-IGP, s. aktualisierteTabelle unten) mit Pixel-feiner Umschaltzeit. Ein erster kurzer Test unter Windows 10 1607 mit der Titan X (Pascal) und dem 3D Mark Time Spy förderte Interessantes zutage. Zwischen an- und abgeschaltetem Async Compute lagen nurmehr 6,4 respektive 7,9 Prozent Unterschied in den beiden Graphic Tests; während zuvor (unter Win10_1511 mit DMA-Buffer-Preemption-Granularität) noch 9,6 respektive 10,8 Prozent Abstand herrschten. Die Karte gewinnt nunmehr also weniger durch Asynchronous Compute, wie es vom 3DMark Time Spy eingesetzt wird. Denkbar ist, dass das schnellere Umschalten (Preemption) zwischen Graphics- und Compute-Queue nun auch im "nicht-asynchronen Modus" weniger Zeit in Anspruch nimmt.

Ob diese Ergebnis repräsentativ für andere Anwendungen oder gar Spiele ist, können wir derzeit noch nicht sagen, sind aber an einer näheren Untersuchung dran.


Wir haben zwei solcher Dinge ausgemacht, welche es seit dem Launch von Pascal und Polaris in die heute aktuellen Treiber RSCE 16.8.2 Hotfix und den Geforce 372.54 WQHL geschafft haben. Genauer gesagt schaffte es die Primitive-Level Graphics-Preemption bei AMD bereits beim Update vom 16.7.2 auf den 16.7.3.
RSCE 16.7.3 Windows 10 TH2 Quelle: PC Games Hardware RSCE 16.7.3 Windows 10 TH2 Da wäre zum einen die Preemption-Granularity der Graphics-Queue bei Polaris-GPUs, welche von DMA-Buffer auf Primitive geschrumpft ist. In der Praxis bedeutet dies vereinfacht gesagt, dass bei einem Wechsel des aktuellen Arbeitsauftrags nun nicht mehr gewartet werden muss, bis der komplette DMA-Buffer (bei Grafik-Aufgaben auch bekannt als Draw Call) samt aller Kommandos abgearbeitet werden muss, bevor zu einem anderen Task gewechselt werden kann. Das ist zum Beispiel für Virtual Reality interessant, wenn eine Aufgabe von hoher Priorität (wie etwa das Postprocessing) zwischengeschoben werden muss, damit zum Beispiel ein Bild rechtzeitig für den VSync-Refresh von 90 Hz fertig wird. Eine feinere Preemption-Granularität kann aber auch die Auslastung der Einheiten verbessern, wenn etwa ein Thread aufgrund eines Speicherkonflikts oder einer strikten In-Order-Anweisung lange auf Daten warten muss.

Bei Nvidia wird nun die VP/RT ohne GS-Emulation unterstützt. Kurz gesagt kann dabei für die Viewport- und Render-Target-Erzeugung der Geometry-Shader komplett übersprungen werden, sofern er keine Instruktionen enthält. Was beim ersten Lesen seltsam klingt ("keine Instruktionen") wird klarer, wenn man weiß, dass die logische Pipeline einen Durchlauf durch die Geometry-Shader-Stufe vorsieht, egal ob dort etwas Sinnvolles passiert, also ein "echter Geometry-Shader ausgeführt wird, oder die Daten lediglich durchgereicht werden ("Null-Shader"). Letzteres ist ohne Support für dieses Feature die Norm, erhöht jedoch Latenzen und Ressourcenbelegung.

DirectX 12 Feature-Levels im Vergleich

Alles Weitere verrät die Tabelle, die einen aktualisierten Auszug aus unserem DX12-Artikel in der PCGH-Print 05/2016 (S. 49) darstellt.

Architektur AMD GCN 1.3/4th Gen GCN AMD GCN 1.2/3rd Gen GCN Nvidia Pascal Nvidia Pascal Nvidia Maxwell (2.0) Intel Gen9
Grafikchips (Beispiele) Polaris 10, Polaris 11 Fiji, Tonga, Carrizo GP102, GP104, GP106 GP102, GP104, GP106 GM200, 204, 206, 208 Skylake
Grafikkarten (Beispiele) Radeon RX 480, RX 470, RX 460 Radeon R9 Nano, R9 Fury (X), R9 285, R9 380(X) Geforce GTX-1000-Reihe, Titan X (Pascal) Geforce GTX-1000-Reihe, Titan X (Pascal) Geforce GTX Titan X, GTX-900-Reihe HD Graphics 510 - 580, Iris (Pro)
Ausprobiert anhand von … RX 480 Fury X, R9 380X GTX 1080, Titan X (Pascal) GTX 1060 6GB GTX 980 Ti Core i7-6700K
Treiberversion 16.7.3 - 16.8.2 16.3.1 372.70/372.54 WHQL (nur Win10 1607) 372.54 WHQL 364.51 WHQL 15.40.20.64.4404
Direct-X-API-Support 12 12 12 12 12 12
Maximaler Feature-Level 12_0 12_0 12_1 12_1 12_1 12_1
Conservative Rasterization Nicht unterstützt Nicht unterstützt Tier 2 Tier 2 Tier 1 Tier 3
Rasterizer Ordered Views Nicht unterstützt Nicht unterstützt Ja Ja Ja Ja
Tiled Resources Tier 2 Tier 2 Tier 3 Tier 3 Tier 3 Tier 3
Resource Binding/Heap Tier 3/Tier 2 Tier 3/Tier 2 Tier 2/Tier 1 Tier 2/Tier 1 Tier 2/Tier 1 Tier 3/Tier 2
Cross-Adapter Row Major Texture Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Ja
VP/RT ohne GS-Emulation Ja Ja Ja Ja Nicht unterstützt Ja
PS Specified Stencil Reference Ja Ja Nicht unterstützt Nicht unterstützt Nicht unterstützt Ja
Max GPU VM Bits pro Prozess/Ressource 40/40 40/36 40/40 40/40 40/40 48/38
Standard Swizzle 64KB Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt
Cross-Node-Sharing Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt Nicht unterstützt
Minimum Precision 16/32 Bit 16/32 Bit Full Precision Full Precision Full Precision Volle Präzision****
Double-Precision Shaders Ja Ja Ja Ja Ja Ja
UMA/Cache Coherent UMA N. unterst./n. unterst. N. unterst./n. unterst. N. unterst./n. unterst. N. unterst./n. unterst. N. unterst./n. unterst. Ja/Ja
Sonstiges  
Asynchronous Compute (DX12) Ja Ja Ja*** Ja*** Nicht unterstützt*** Nicht unterstützt
Graphics/Compute Preemption Primitive/DMA Buffer DMA Buffer/DMA Buffer Pixel/Primitive DMA Buffer/DMA Buffer DMA Buffer/DMA Buffer Triangle/Pixel
Driver Command Lists (DX11) Nicht unterstützt Nicht unterstützt Ja Ja Ja Nicht unterstützt
Max. Feature-Level in Direct X 11.x 12_0 12_0 12_1 12_1 12_1 11_1

* Aktuelle Game-Ready-Treiber unterstützen mit Fermi-Karten die DX12-API nicht, Werte in Klammern geben den Support-Status mit dem 358-70-Treiber wieder) **Auch als optionale Features unter DX11.3 nicht ***DX12-Treiber akzeptieren Befehle aus Graphics/Compute-Queue, in der Hardware werden sie jedoch nicht parallelisiert sondern seriell ausgeführt. Laut Nvidia unterstützt Maxwell 2.0 Asynchronous Compute, "es sei derzeit im Treiber nicht aktiviert". Pascal unterstützt AC durch dynamische Zuweisung einzelner SMs an die Graphics und Compute Queues, jedoch keine Mischbeschickung eines SMs aus beiden Warps ****Unter 11.3 wird das Feature unterstützt.

97
  1. Seite 1 DirectX 12: Aktuelle Feature-Level von Geforce, Radeon und Co.
  2. Seite 2 DX12 Feature-Level: Frühere Treiber-Updates und Tabellen
    • Kommentare (97)

      Zur Diskussion im Forum
      • Von PCGH_Carsten Volt-Modder(in)
        Große Leistungsgewinne durch nebenläufige Ausführung auf denselben Ausführungseinheiten bedeuten in erster Linie viel Leerlauf bei nur einer Aufgabe - oder anders: Gering(er)e Möglichkeiten zum Latency-Hiding wenn eine Aufgabe blockiert, weil sie auf den Speicher warten muss.
      • Von PCGH_Carsten Volt-Modder(in)
        Große Leistungsgewinne durch nebenläufige Ausführung auf denselben Ausführungseinheiten bedeuten in erster Linie viel Leerlauf bei nur einer Aufgabe - oder anders: Gering(er)e Möglichkeiten zum Latency-Hiding wenn eine Aufgabe blockiert, weil sie auf den Speicher warten muss.
      • Von Locuza Lötkolbengott/-göttin
        Ich denke Game Ready Drivers ist in dem Fall einfach allgemein als Treiber zu bewerten.
        Disabled bezieht sich vermutlich darauf, dass Nvidias Treiber bei Maxwell keine separaten Compute-Queues effektiv umsetzen.
        Maxwell könnte das im Prinzip, aber da Maxwell die Ressourcen zwischen Compute und 3D nur statisch partitionieren kann und den Kontext nur langsam wechseln, würde die Performance vermutlich in den meisten Fällen sinken und das ist der Grund wieso Nvidia das so nicht umsetzt und nie umsetzen wird.

        Es ist natürlich korrekt, dass DX12 in diesem Aspekt keine spezifischen Hardwarevoraussetzungen definiert, nur die API-Anweisungen müssen funktionieren und zu keinen Anwendungsproblemen führen.
      • Von Grestorn
        Das war eine reine Marketing-Aussage meines Erachtens. Dass AsyncCompute auch in der App genutzt werden muss ist ja nicht neu. Aber dass es in "Game Ready Drivers" disabled wäre, ist Schmarrn. Was heißt denn "disabled" in diesem Fall überhaupt? Bestenfalls wird eben nichts parallel (also asynchron) verarbeitet. Aber das ist immer noch nicht "disabled".

        Wie Du besser als die meisten hier weißt, ist AC nichts anderes als ein Hint der App für den Treiber, welche Ops parallel ausgeführt werden können und wo synchronisiert werden muss. Solche Hints kann man nutzen, muss sie aber nicht. Und je nach HW-Architektur kann das mehr oder weniger Sinn machen. Bei Maxwell halt offenbar gar nicht.
      • Von Locuza Lötkolbengott/-göttin
        Zitat von Oberst Klink
        Ich würde es begrüßen wenn alle Spieleentwickler in Zukunft auf Direct X scheißen und gleich voll und ganz auf Vulkan setzen.
        Dann hat man auch keinen Windoof-Zwang mehr und kann auch endlich unter Linix ordentlich zocken, wenn die Grafikkartenhersteller ihre Treiber dafür auch in schuss halten.
        Dafür müsste es keine Hürden geben Vulkan statt DX zu verwenden und Linux einen finanziellen Mehrwert für die Mühen bieten, beides ist aktuell nicht der Fall.

        Zitat von Grestorn
        Da gibt es nichts 'freizuschalten'. Der Treiber unterstützt ASync Compute, weil das Teil der DX 12 API ist. Wieviel dessen Nutzung am Ende bringt, steht auf einem anderen Blatt und liegt an der Hardwarearchitektur.

        Die Aussage, 'NVidia kann kein AC' war schon immer falsch.
        Das sieht ein Nvidia Product Manager aber anders!
        Zitat
        Fun FACT of the day: Async Compute is NOT enabled on the driver-side with public Game Ready Drivers. You need app-side + driver-side!
        Sean Pelletier auf Twitter: "Fun FACT of the day: Async Compute is NOT enabled on the driver-side with public Game Ready Drivers. You need app-side + driver-side!"
      • Von oldsql.Triso Volt-Modder(in)
        Zitat von Oberst Klink
        Ich würde es begrüßen wenn alle Spieleentwickler in Zukunft auf Direct X scheißen und gleich voll und ganz auf Vulkan setzen. Dann hat man auch keinen Windoof-Zwang mehr und kann auch endlich unter Linix ordentlich zocken, wenn die Grafikkartenhersteller ihre Treiber dafür auch in schuss halten.
        Wenn Windows so beschissen ist, warum wechselst du nicht einfach? Als ob das mit Linux in irgend einer Weise besser wird. Auch unter Linux wird irgendwann der Support für irgendwas eingestellt. Sei es eine Version der API noch sonste was. Meinst du, das bei steigender Popularität Linux so bleibt wie es bisher der Fall war?

        Wenn man überlegt wie lange wir noch DX9 mitgeschliffen haben und wie lange es dauerte, bis sich DX11 halbwegs durchgesetzt hat. Warum erwartet man jetzt von DX12, dass es in nicht mal 3 Jahren nachdem es released wurde, überall und voll umfänglich im Einsatz ist. Finde auch die 3 Vulkan-Titel mehr als lächerlich, da hier das Studio quasi drauf angesetzt wurde, das unter Vulkan zu optimieren - so kriegt man jedenfalls den Eindruck über die ganzen Querverbindungen (AMD, Vulkan, Carmack, ID Tech-engine). Das ist was ganz anders als andere Entwickler, wo der Ausgangspunkt ein anderer ist.
      Direkt zum Diskussionsende
  • Print / Abo
    Apps
    PCGH Magazin 08/2026 PC Games 08/2026 play5 08/2026 N-Zone 08/2026 Linux Magazin 08/2026 LinuxUser 08/2026 Raspberry Pi Geek 09/2026
    PC Games Hardware PC Games Linux Magazin Raspberry Pi Geek Computec Kiosk