Hardwarefunctieniveaus
Beschrijft de functionaliteit van de hardwarefuncties 11_0 tot en met 12_1.
- nummeringssystemen
- ondersteuning op functieniveau
- Hardware-ondersteuning voor DXGI-indelingen
- Verwante onderwerpen
Microsoft Direct3D 11 heeft het concept van functieniveaus geïntroduceerd om de diversiteit van videokaarten op nieuwe en bestaande machines af te handelen. Elke videokaart implementeert een bepaald niveau van Microsoft DirectX-functionaliteit (DX), afhankelijk van de gpu's (graphics processing units) die zijn geïnstalleerd. Een functieniveau is een goed gedefinieerde set GPU-functionaliteit. Het functieniveau 11_0 implementeert bijvoorbeeld de functionaliteit die is geïmplementeerd in Direct3D 11.
Wanneer u nu een apparaat maakt, kunt u proberen een apparaat te maken voor het functieniveau dat u wilt aanvragen. Als het apparaat wordt gemaakt, bestaat dat functieniveau, als dat niet het geval is, de hardware biedt geen ondersteuning voor dat functieniveau. U kunt proberen een apparaat opnieuw te maken op een lager functieniveau of u kunt ervoor kiezen om de toepassing af te sluiten.
De basiseigenschappen van functieniveaus zijn:
- Alle Direct3D 12-stuurprogramma's zijn Functieniveau 11_0 of beter.
- Een GPU waarmee een apparaat kan worden gemaakt, voldoet aan of overschrijdt de functionaliteit van dat functieniveau.
- Een functieniveau bevat altijd de functionaliteit van eerdere of lagere functieniveaus.
- Een functieniveau impliceert geen prestaties, alleen functionaliteit. Prestaties zijn afhankelijk van hardware-implementatie.
- Er wordt een functieniveau gekozen wanneer u D3D12CreateDeviceaanroept.
- Voor meer gedetailleerde informatie over ondersteunde functies (met name de functies die zijn gemarkeerd als Optionele in de onderstaande tabel, betekent dit dat de hardware de functie mogelijk ondersteunt, maar niet vereist is) CheckFeatureSupportaanroept.
Zie Beperkingen voor het maken van WARP- en referentieapparatenvoor informatie over beperkingen die niet-hardwaretypen maken op bepaalde functieniveaus. Raadpleeg de Direct3D 11-documentatie over Direct3D-functieniveausvoor meer informatie over de introductie van functieniveaus.
Nummeringssystemen
Hardwarefunctiesniveaus worden niet hetzelfde als API-versies. Er is bijvoorbeeld een D3D11.3-API, maar er is geen hardwarefunctieniveau 11_3. Functieniveaus worden gedefinieerd in de D3D_FEATURE_LEVEL enum.
Er zijn drie verschillende nummeringssystemen:
- Direct3D-versies maken gebruik van een periode; Bijvoorbeeld Direct3D 12.0.
- Arceringsmodellen maken gebruik van een punt; Bijvoorbeeld shader model 5.1.
- Functieniveaus gebruiken een onderstrepingsteken; Bijvoorbeeld functieniveau 12_0.
Ondersteuning op functieniveau
De volgende functies zijn beschikbaar voor elk Direct3D-functieniveau.
De koppen in de bovenste rij zijn Direct3D-functieniveaus. De koppen in de linkerkolom zijn functies.
Functie \ functieniveau | 12_1⁰ | 12_0⁰ | 11_1¹ | 11_0 |
---|---|---|---|---|
Shader-model | 6.0 | 6.0 | 6.0/5.1² | 6.0/5.1² |
resourcebindingslaag | Laag2³ | Laag2³ | Laag1³ | Laag1³ |
tegelbronnen | Laag2³ | Laag2³ | Facultatief | Facultatief |
Conservatieve rasterisering | Laag1³ | Facultatief | Facultatief | Nee |
Rasterizer geordende weergaven | Ja | Facultatief | Facultatief | Nee |
min/max filters | Ja | Ja | Facultatief | Nee |
Standaardbuffer toewijzen | Facultatief | Facultatief | Facultatief | Facultatief |
arceringsreferentiewaarde stencil opgegeven | Facultatief | Facultatief | Facultatief | Nee |
getypte niet-geordende access-weergave laadt | 18 indelingen, meer optioneel | 18 indelingen, meer optioneel | 3 indelingen, meer optioneel | 3 indelingen, meer optioneel |
Geometrie-shader | Ja | Ja | Ja | Ja |
Stream Out- | Ja | Ja | Ja | Ja |
DirectCompute/Compute Shader- | Ja | Ja | Ja | Ja |
Hull and Domain Shaders | Ja | Ja | Ja | Ja |
resourcematrices patroon | Ja | Ja | Ja | Ja |
Cubemap-resourcematrices | Ja | Ja | Ja | Ja |
BC1 naar BC7-compressie | Ja | Ja | Ja | Ja |
alfa-naar-dekking | Ja | Ja | Ja | Ja |
Logic Operations (Output Merger) | Ja | Ja | Ja | Facultatief |
Doelonafhankelijke rasterisatie | Ja | Ja | Ja | Nee |
Meerdere renderdoel (MRT) met ForcedSampleCount 1 | Ja | Ja | Ja | Facultatief |
Maximum aantal geforceerde steekproeven voor alleen-UAV-rendering | 16 | 16 | 16 | 8 |
Maximale patroondimensie | 16384 | 16384 | 16384 | 16384 |
Maximale kubuskaartdimensie | 16384 | 16384 | 16384 | 16384 |
Maximale volumehoeveelheid | 2048 | 2048 | 2048 | 2048 |
Max. patroon herhalen | 16384 | 16384 | 16384 | 16384 |
Max Anisotropie | 16 | 16 | 16 | 16 |
Maximum aantal primitieven | 2^32 – 1 | 2^32 – 1 | 2^32 – 1 | 2^32 – 1 |
Max. hoekpuntindex | 2^32 – 1 | 2^32 – 1 | 2^32 – 1 | 2^32 – 1 |
Maximum aantal invoersites | 32 | 32 | 32 | 32 |
Gelijktijdige renderdoelen | 8 | 8 | 8 | 8 |
Occlusiequery's | Ja | Ja | Ja | Ja |
Afzonderlijke alfamix | Ja | Ja | Ja | Ja |
Eenmaal spiegelen | Ja | Ja | Ja | Ja |
Overlappende hoekpuntelementen | Ja | Ja | Ja | Ja |
Onafhankelijke schrijfmaskers | Ja | Ja | Ja | Ja |
Instancing | Ja | Ja | Ja | Ja |
- ⁰ Vereist de Direct3D 11.3- of Direct3D 12-runtime.
- ¹ Vereist de Direct3D 11.1-runtime.
- ² Shader model 5.0 kan optioneel ondersteuning bieden voor arceringen met dubbele precisie, uitgebreide arceringen met dubbele precisie, de SAD4 arceringsinstructie en gedeeltelijke precisie-shaders. Als u de beschikbare opties van het shadermodel 5.0 wilt bepalen, roept u ID3D12Device::CheckFeatureSupportaan. Sommige compatibiliteit is afhankelijk van de hardware waarop u werkt: Shader-model 5.1 wordt alleen ondersteund op hardware die ondersteuning biedt voor de DirectX 12-API, ongeacht het functieniveau dat wordt gebruikt. DirectX 11-hardware ondersteunt alleen maximaal shader model 5.0. De DirectX 12-API gaat alleen omlaag naar functieniveau 11_0.
- Hogere lagen zijn optioneel.
- Voor functieniveaus 12_0 en 12_1 is de Direct3D 11.3- of Direct3D 12-runtime vereist.
- Voor functieniveau 11_1 is de Direct3D 11.1-runtime vereist.
- Voor functieniveau 11_0 is de Direct3D 11.0-runtime vereist.
Hardwareondersteuning voor DXGI-indelingen
Als u tabellen met DXGI-indelingen en hardwarefuncties wilt weergeven, raadpleegt u:
- DXGI Format Support for Direct3D Feature Level 12.1 Hardware
- DXGI Format Support voor Direct3D Feature Level 12.0 Hardware
- DXGI Format Support for Direct3D Feature Level 11.1 Hardware
- DXGI Format Support for Direct3D Feature Level 11.0 Hardware
- Hardwareondersteuning voor Direct3D 10Level9-indelingen
- Hardwareondersteuning voor Direct3D 10.1-indelingen
- Hardwareondersteuning voor Direct3D 10-indelingen
Verwante onderwerpen