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é. 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 instance, le niveau de fonctionnalité 11_0 implémente la fonctionnalité implémentée dans Direct3D 11.

Maintenant, lorsque vous créez un appareil, vous pouvez essayer 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. Si ce n’est pas le cas, 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 vous pouvez choisir de quitter l’application.

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

  • Tous les pilotes Direct3D 12 auront le niveau de fonctionnalité 11_0 ou supérieur.
  • Gpu qui permet de créer un appareil atteint ou dépasse les fonctionnalités de ce niveau de fonctionnalité.
  • Un niveau de fonctionnalité inclut toujours les fonctionnalités des niveaux de fonctionnalité précédents ou inférieurs.
  • Un niveau de fonctionnalité n’implique pas de performances, mais uniquement des 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 facultatifs 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 de création d’appareils WARP et Référence. 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 les mêmes que les versions d’API. Par exemple, il existe une API D3D11.3, mais il n’existe pas de 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 un point ; 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 dans la colonne de gauche sont des fonctionnalités.

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 Tier2³ Tier2³ Tier1³ Tier1³
Ressources en mosaïques Tier2³ Tier2³ Facultatif Facultatif
Pixellisation conservatrice Tier1³ Facultatif Facultatif Non
Affichage ordonné du rastériseur Oui Facultatif Facultatif Non
Filtres min/max Oui Oui Facultatif Non
Carter 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 l’affichage d’accès non ordonné typé 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
Diffuser en continu Oui Oui Oui Oui
DirectCompute / Compute Shader Oui Oui Oui Oui
Nuanceurs de coque et de domaine Oui Oui Oui Oui
Tableaux de ressources de texture Oui Oui Oui Oui
Cubemap Resource Arrays Oui Oui Oui Oui
Compression BC1 vers 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
Cible de rendu multiple (MRT) avec ForcedSampleCount 1 Oui Oui Oui Facultatif
Nombre maximal d’échantillons forcés pour le rendu UAV uniquement 16 16 16 8
Max Texture Dimension 16384 16384 16384 16384
Max Cubemap Dimension 16384 16384 16384 16384
Étendue maximale du volume 2 048 2 048 2 048 2 048
Répétition maximale de texture 16384 16384 16384 16384
Anisotropie max. 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
Emplacements d’entrée max. 32 32 32 32
Cibles de rendu simultanées 8 8 8 8
Requêtes d’occlusion Oui Oui Oui Oui
Mélange alpha distinct Oui Oui Oui Oui
Mettre en miroir une fois Oui Oui Oui Oui
Éléments de vertex qui se chevauchent Oui Oui Oui Oui
Masques d’écriture indépendant 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, l’instruction 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. Une certaine compatibilité dépend du matériel sur lequel vous exécutez : le modèle shader 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 descend uniquement au niveau de fonctionnalité 11_0.
  • ³ Les niveaux supérieurs sont facultatifs.
  • Les niveaux de fonctionnalités 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 tableaux des formats DXGI et des fonctionnalités matérielles, reportez-vous à :

Interrogation des fonctionnalités

Comprendre Direct3D 12