AW: Offizielles zur Radeon RX 480: Ende Juni für 199 US-Dollar - Spezifikationen
Hm ...
Wobei ich mir bis inkl. heute nicht wirklich sicher bin, wie der DX12 Support von NVidia NVidia denn nun in der Realität aussieht.
Bisher macht es auch für mich den Anschein, als können NVidia GPUs Asnychr. Shader nicht. Ich bin kein Experte, aber vielleicht kann mir jemand auf die Sprünge helfen, wo wir aktuell bei DX12 und NVidia bzw. AMD stehen.
Gruß
Rum
DX12 ist kein fester Punkt, sondern eine ganze Ansammlung an Schnittstellen .
Ein großer Teil besteht aus grundlegenden Funktionen die jede GPU unterstützen muss, andere können einzeln abgefragt werden und/oder sind mit anderen grob als Feature-Level zusammengefasst, wo der Entwickler ein größeres Set gleichzeitig abfragen kann und nicht jede Funktion einzeln.
DX12 beherbergt vier Feature-Levels, 11.0, 11.1, 12.0 und 12.1.
12.0 beinhaltet drei Features, Resource Binding Tier 2, Typed UAV und Tiled Resources Tier 2.
12.1 lediglich zwei, nämlich Rasterizer Ordered Views und Conservative Rasterization Tier 1.
Die Tiers geben immer eine Stufe einer Funktion an, es gibt auch Conservative Rasterization Tier 3, was bisher einzeln abgefragt werden muss und keine Voraussetzung für irgendein Feature-Level ist.
Dazu gesellen sich Resource Binding Tier 3 und Tiled Resources Tier 3, neben einigen weiteren Funktionen.
Insgesamt braucht man eine Tabelle für jeden Hersteller.
Bei Wikipedia findet man eine (ganz unten), die sogar richtig ist:
Feature levels in Direct3D - Wikipedia, the free encyclopedia
Async Compute oder Async Shaders beziehen sich dabei auf das Multiengine Feature von DX12, welches eine grundlegende Funktion darstellt.
Jede DX12 GPU muss Multiengine unterstützen und damit Async Shaders, die Implementierung und der Nutzen davon ist aber nicht vorgeschrieben.
Eine Funktion zu unterstützen (gilt für jedes DX Feature) gibt niemanden vor, wie er das konkret machen muss, solange die funktionellen Anforderungen erfüllt werden.
Siehe Geometry-Shaders oder Tessellation.
Bei Tessellation hat es z.B. ARM per Compute-Shader im Software-Mode implementiert, die DX11 Spezifikation wurde so erfüllt, laufen tut das auch, aber nicht toll.
So ähnlich ist es bei Multiengine, AMD ist bisher der einzige Hersteller, der Compute- und GFX-Shader mit einem Performance-Gewinn mixen kann, die Konkurrenten arbeiten in der Hinsicht etwas anders und ziehen bisher keinen Performance-Gewinn dadurch, einige GPUs verlieren gar ein paar %.