Tut mir leid, jetzt blick ich gar nicht mehr durch. Was hat das alles mit dem Tier auf sich, und was sind die Unterschiede von FL11_1, FL12_0 und FL12_1 ??? Eine vernünftige Erklärung wäre mal notwendig.
Tier = Stufe/Level
Es gibt sehr viele Features unter DX12 und manche wurden eben in ihren Fähigkeiten unterteilt.
- Resource Binding wird in drei Stufen unterteilt, dabei ist spezifiziert wie viele Ressourcen gleichzeitig verwendet werden können (Texturen, Buffer, Daten).
Mit Tier 1 entsprechend wenig, mit Tier 2 schon deutlich mehr und die Experten sprechen hier von bindless resources und Tier 3 hat theoretisch keine feste Limitierung mehr, was die verwende Anzahl angeht.
Resource Binding ist aber nicht das einzige Feature welches unterschiedliche Tiers hat.
Es gibt auch
- Tiled Resources Tier 1, 2, 3
- Conservative Rasterization Tier 1, 2, 3
- Resource Heap Tier 1,2
Einige Features haben gar keine Tiers/Stufen, dann heißt es einfach unterstützt oder unterstützt nicht.
Damit das ganze nicht in einem Chaos abdriftet, wo jeder Entwickler jedes einzelne Feature abfragen muss und entsprechende Fallbacks schreiben, gibt es Feature-Levels.
Feature-Levels sind praktisch selbsterklärend, sie fassen eine Anzahl an gewissen Features zusammen und stellen eine gemeinsame Basis dar.
Zwischen FL11_0, FL11_1 und FL12_0, FL12_1 steigen jedes mal gewisse Anforderungen.
Der Unterschied zwischen FL11_0 und FL11_1 beschränkt sich wenn ich das richtig sehe primär auf die Unordered access views, wie viele man davon haben kann (64 vs. 8) und bei welchen Shader-Typen.
Ansonsten wenn ich den alten Meldungen diesbezüglich glauben darf, ein bisschen 2D Zeug, was für Spiele jetzt nicht interessiert.
Schaut man sich FL12_0 an, dann sprechen wir hier vs. FL11_0/1 von bindless resources, tiled resources tier 2 und typed uav load.
Was letztendlich dazu führt, dass man mehr Ressourcen gleichzeitig haben kann und mehr Spielraum bei Texturen hat.
Tiled resources behandelt das Konzept, dass man eine Textur in Kacheln unterteilen kann und nur das gezeigt wird, was der Spieler gerade sieht.
Man muss so nicht die ganze Textur im VRAM haben und kann eine Textur entsprechend viel größer gestalten.
Bei FL12_1 kommt Conservative Rasterization und Raster Ordered Views dazu.
1. erhöht die Genauigkeit der Raster-Informationen.
Mit CR kann man effektiv Algorithmen verwenden, wo es früher Grafik-Bugs gegeben hätte.
ROVs ermöglichen einen viel effizienteren Einsatz von OIT bzw. Transparenz.
Kann alles möglich sein, Haare, Rauch, Gräser, man könnte es auch für Anti-Alisiang verwenden.