Niveaux de fonctionnalité matérielle

Décrit les fonctionnalités des niveaux de fonctionnalités matérielles 11_0 à 12_1.

Pour gérer la diversité des cartes vidéo dans les machines nouvelles et existantes, Microsoft Direct3D 11 a introduit le concept de niveaux de fonctionnalités. Chaque carte vidéo implémente un certain niveau de fonctionnalité Microsoft DirectX (DX) en fonction des unités de traitement graphique (GPU) installées. Un niveau de fonctionnalité est un ensemble bien défini de fonctionnalités GPU. Par exemple, le niveau de fonctionnalité 11_0 implémente la fonctionnalité implémentée dans Direct3D 11.

À présent, lorsque vous créez un appareil, vous pouvez tenter de créer un appareil pour le niveau de fonctionnalité que vous souhaitez demander. Si la création de l’appareil fonctionne, ce niveau de fonctionnalité existe, sinon, le matériel ne prend pas en charge ce niveau de fonctionnalité. Vous pouvez essayer de recréer un appareil à un niveau de fonctionnalité inférieur ou choisir de quitter l’application.

Les propriétés de base des niveaux de fonctionnalités sont les suivantes :

  • Tous les pilotes Direct3D 12 seront au niveau de fonctionnalité 11_0 ou supérieur.
  • Un GPU qui permet à un appareil d’être créé répond ou dépasse les fonctionnalités de ce niveau de fonctionnalité.
  • Un niveau de fonctionnalité inclut toujours les fonctionnalités des niveaux de fonctionnalités précédents ou inférieurs.
  • Un niveau de fonctionnalité n’implique pas les performances, mais uniquement les fonctionnalités. Les performances dépendent de l’implémentation matérielle.
  • Un niveau de fonctionnalité est choisi lorsque vous appelez D3D12CreateDevice.
  • Pour plus d’informations sur les fonctionnalités prises en charge (en particulier celles marquées facultatives dans le tableau ci-dessous, ce qui signifie que le matériel peut prendre en charge la fonctionnalité, mais n’est pas nécessaire) appelez CheckFeatureSupport.

Pour plus d’informations sur les limitations de création d’appareils de type non matériel sur certains niveaux de fonctionnalités, consultez Limitations creating WARP and Reference Devices. Pour plus d’informations sur l’introduction des niveaux de fonctionnalités, reportez-vous à la documentation Direct3D 11 sur les niveaux de fonctionnalités Direct3D.

Systèmes de numérotation

Les niveaux de fonctionnalités matérielles ne sont pas identiques aux versions d’API. Par exemple, il existe une API D3D11.3, mais il n’existe aucun niveau de fonctionnalité matérielle 11_3. Les niveaux de fonctionnalité sont définis dans l’énumération D3D_FEATURE_LEVEL .

Il existe trois systèmes de numérotation distincts :

  • Les versions Direct3D utilisent une période ; Par exemple, Direct3D 12.0.
  • Les modèles de nuanceur utilisent un point ; par exemple, le modèle de nuanceur 5.1.
  • Les niveaux de fonctionnalité utilisent un trait de soulignement ; par exemple, niveau de fonctionnalité 12_0.

Prise en charge au niveau des fonctionnalités

Les fonctionnalités suivantes sont disponibles pour chaque niveau de fonctionnalité Direct3D.

Les en-têtes de la ligne supérieure sont des niveaux de fonctionnalités Direct3D. Les en-têtes de la colonne de gauche sont des caractéristiques.

Fonctionnalité \ Niveau de fonctionnalité 12_1⁰ 12_0⁰ 11_1¹ 11_0
Modèle de nuanceur 6.0 6.0 6.0/5.1² 6.0/5.1²
Niveau de liaison de ressources Niveau 2³ Niveau 2³ Niveau 1³ Niveau 1³
Ressources en mosaïque Niveau 2³ Niveau 2³ Facultatif Facultatif
Pixellisation conservatrice Niveau 1³ Facultatif Facultatif Non
Affichage ordonné du rastériseur Oui Facultatif Facultatif Non
Filtres min/max Oui Oui Facultatif Non
Mapper la mémoire tampon par défaut Facultatif Facultatif Facultatif Facultatif
Valeur de référence du stencil spécifié par le nuanceur Facultatif Facultatif Facultatif Non
Chargements de vues d’accès non triées typées 18 formats, plus facultatifs 18 formats, plus facultatifs 3 formats, plus facultatifs 3 formats, plus facultatifs
Nuanceur de géométrie Oui Oui Oui Oui
Stream Out Oui Oui Oui Oui
DirectCompute / Nuanceur de calcul Oui Oui Oui Oui
Nuanceurs de coque et de domaine Oui Oui Oui Oui
Tableaux de ressources de texture Oui Oui Oui Oui
Tableaux de ressources cubemap Oui Oui Oui Oui
Compression BC1 à BC7 Oui Oui Oui Oui
Alpha-to-coverage Oui Oui Oui Oui
Opérations logiques (fusion de sortie) Oui Oui Oui Facultatif
Rastérisation indépendante de la cible Oui Oui Oui Non
Multiple render target(MRT) with ForcedSampleCount 1 Oui Oui Oui Facultatif
Nombre maximal d’échantillons forcés pour le rendu UAV uniquement 16 16 16 8
Dimension de texture maximale 16384 16384 16384 16384
Max Cubemap Dimension 16384 16384 16384 16384
Extension maximale du volume 2 048 2 048 2 048 2 048
Répétition de texture maximale 16384 16384 16384 16384
Max Anisotropy 16 16 16 16
Nombre maximal de primitives 2^32 – 1 2^32 – 1 2^32 – 1 2^32 – 1
Index de vertex max. 2^32 – 1 2^32 – 1 2^32 – 1 2^32 – 1
Nombre maximal d’emplacements d’entrée 32 32 32 32
Cibles de rendu simultanées 8 8 8 8
Requêtes d’occlusion Oui Oui Oui Oui
Séparer Alpha Blend Oui Oui Oui Oui
Miroir une fois Oui Oui Oui Oui
Chevauchement d’éléments de vertex Oui Oui Oui Oui
Masques d’écriture indépendants Oui Oui Oui Oui
Instanciation Oui Oui Oui Oui

 

  • ⁰ Nécessite le runtime Direct3D 11.3 ou Direct3D 12.
  • ¹ Nécessite le runtime Direct3D 11.1.
  • Le modèle de nuanceur 5.0 ² peut éventuellement prendre en charge les nuanceurs à double précision, les nuanceurs à double précision étendus, les instructions du nuanceur SAD4 et les nuanceurs de précision partielle. Pour déterminer les options du modèle de nuanceur 5.0 disponibles, appelez ID3D12Device::CheckFeatureSupport. Certaines compatibilités dépendent du matériel sur lequel vous exécutez : le modèle de nuanceur 5.1 est pris en charge uniquement sur le matériel qui prend en charge l’API DirectX 12, quel que soit le niveau de fonctionnalité utilisé. Le matériel DirectX 11 prend uniquement en charge jusqu’au modèle de nuanceur 5.0. L’API DirectX 12 passe uniquement au niveau de fonctionnalité 11_0.
  • Les niveaux supérieurs sont facultatifs.
  • Les niveaux de fonctionnalité 12_0 et 12_1 nécessitent le runtime Direct3D 11.3 ou Direct3D 12.
  • Le niveau de fonctionnalité 11_1 nécessite le runtime Direct3D 11.1.
  • Le niveau de fonctionnalité 11_0 nécessite le runtime Direct3D 11.0.

Prise en charge matérielle des formats DXGI

Pour afficher les tables des formats DXGI et des fonctionnalités matérielles, reportez-vous à :

Interrogation de fonctionnalités

Comprendre Direct3D 12