Dela via


Maskinvarufunktionsnivåer

Beskriver funktionerna i maskinvarufunktionerna 11_0 till 12_1.

För att hantera mångfalden av grafikkort i nya och befintliga datorer introducerade Microsoft Direct3D 11 begreppet funktionsnivåer. Varje grafikkort implementerar en viss nivå av Microsoft DirectX-funktioner (DX) beroende på vilka grafikprocessorer (GPU:er) som är installerade. En funktionsnivå är en väldefinierad uppsättning GPU-funktioner. Funktionsnivån 11_0 implementerar till exempel de funktioner som implementerades i Direct3D 11.

Nu när du skapar en enhet kan du försöka skapa en enhet för den funktionsnivå som du vill begära. Om enheten skapas finns den funktionsnivån, om inte, maskinvaran stöder inte den funktionsnivån. Du kan antingen försöka återskapa en enhet på en lägre funktionsnivå eller så kan du välja att avsluta programmet.

De grundläggande egenskaperna för funktionsnivåer är:

  • Alla Direct3D 12-drivrutiner är funktionsnivå 11_0 eller bättre.
  • En GPU som gör att en enhet kan skapas uppfyller eller överskrider funktionaliteten på den funktionsnivån.
  • En funktionsnivå innehåller alltid funktionerna i tidigare eller lägre funktionsnivåer.
  • En funktionsnivå innebär inte prestanda, bara funktioner. Prestanda är beroende av maskinvaruimplementering.
  • En funktionsnivå väljs när du anropar D3D12CreateDevice.
  • Om du vill ha mer detaljerad information om funktioner som stöds (särskilt de som är markerade Valfri i tabellen nedan, vilket innebär att maskinvaran kan stödja funktionen men inte krävs för att) anropa CheckFeatureSupport.

Information om begränsningar som skapar enheter av icke-maskinvarutyp på vissa funktionsnivåer finns i Begränsningar som skapar WARP- och referensenheter. Mer information om introduktionen av funktionsnivåer finns i Direct3D 11-dokumentationen om Direct3D-funktionsnivåer.

Numreringssystem

Maskinvarufunktionsnivåer är inte samma som API-versioner. Det finns till exempel ett D3D11.3-API, men det finns ingen maskinvarufunktionsnivå på 11_3. Funktionsnivåer definieras i D3D_FEATURE_LEVEL uppräkning.

Det finns tre distinkta numreringssystem:

  • Direct3D-versioner använder en period; till exempel Direct3D 12.0.
  • Skuggningsmodeller använder en punkt; till exempel skuggningsmodell 5.1.
  • Funktionsnivåer använder ett understreck; till exempel funktionsnivå 12_0.

Stöd för funktionsnivå

Följande funktioner är tillgängliga för varje Direct3D-funktionsnivå.

Rubrikerna på den översta raden är Direct3D-funktionsnivåer. Rubrikerna i den vänstra kolumnen är funktioner.

Funktion \ funktionsnivå 12_1⁰ 12_0⁰ 11_1¹ 11_0
Skuggningsmodell 6.0 6.0 6.0/5.1² 6.0/5.1²
resursbindningsnivå Nivå 2³ Nivå 2³ Nivå 1³ Nivå 1³
tillagda resurser Nivå 2³ Nivå 2³ Valfri Valfri
konservativ rastrering Nivå 1³ Valfri Valfri Nej
Rasterizer Ordnade vyer Ja Valfri Valfri Nej
minsta/högsta filter Ja Ja Valfri Nej
Mappa standardbuffert Valfri Valfri Valfri Valfri
angivet stencilreferensvärde för skuggning Valfri Valfri Valfri Nej
osorterad åtkomstvy läses in 18 format, fler valfria 18 format, fler valfria 3 format, mer valfritt 3 format, mer valfritt
Geometry Shader Ja Ja Ja Ja
Stream Out Ja Ja Ja Ja
DirectCompute/Compute Shader Ja Ja Ja Ja
Hull och Domain Shaders Ja Ja Ja Ja
resursmatriser för struktur Ja Ja Ja Ja
Cubemap-resursmatriser Ja Ja Ja Ja
BC1 till BC7 Compression Ja Ja Ja Ja
Alpha-to-coverage- Ja Ja Ja Ja
Logic Operations (utdatasammanslagning) Ja Ja Ja Valfri
Måloberoende rastrering Ja Ja Ja Nej
Flera återgivningsmål (MRT) med ForcedSampleCount 1 Ja Ja Ja Valfri
Maximalt antal tvångsexempel för endast UAV-återgivning 16 16 16 8
Maximal strukturdimension 16384 16384 16384 16384
Max kubkartans dimension 16384 16384 16384 16384
Maximal volymstorlek 2048 2048 2048 2048
Maximal texturrepetition 16384 16384 16384 16384
Max Anisotropi 16 16 16 16
Maximalt primitivt antal 2^32 – 1 2^32 – 1 2^32 – 1 2^32 – 1
Maximalt brytpunktsindex 2^32 – 1 2^32 – 1 2^32 – 1 2^32 – 1
Maximalt antal indatafack 32 32 32 32
Mål för samtidig återgivning 8 8 8 8
Ocklusionsfrågor Ja Ja Ja Ja
Separat alfablandning Ja Ja Ja Ja
Spegel en gång Ja Ja Ja Ja
Överlappande hörnelement Ja Ja Ja Ja
Oberoende skrivmasker Ja Ja Ja Ja
Instancing Ja Ja Ja Ja

 

  • ⁰ Kräver Direct3D 11.3 eller Direct3D 12-körning.
  • ¹ Kräver Direct3D 11.1-körningen.
  • ² Shader model 5.0 kan också stödja skuggningar med dubbel precision, utökade skuggningar med dubbel precision, SAD4 skuggningsinstruktion och skuggning med partiell precision. Om du vill fastställa alternativen för skuggningsmodellen 5.0 som är tillgängliga anropar du ID3D12Enhet::CheckFeatureSupport. Viss kompatibilitet beror på vilken maskinvara du kör på: Shader model 5.1 stöds endast på maskinvara som stöder DirectX 12-API:et, oavsett vilken funktionsnivå som används. DirectX 11-maskinvara stöder endast upp till skuggningsmodell 5.0. DirectX 12-API:et går bara ned till funktionsnivå 11_0.
  • ³ Högre nivåer är valfria.
  • Funktionsnivåer 12_0 och 12_1 kräver Direct3D 11.3 eller Direct3D 12-körning.
  • Funktionsnivå 11_1 kräver Direct3D 11.1-körning.
  • Funktionsnivå 11_0 kräver Direct3D 11.0-körning.

Maskinvarustöd för DXGI-format

Om du vill visa tabeller med DXGI-format och maskinvarufunktioner läser du:

Funktionsfråga

Understanding Direct3D 12