D3D12_FEATURE_DATA_D3D12_OPTIONS structure (d3d12.h)

Décrit les options de fonctionnalité Direct3D 12 dans le pilote graphique actuel.

Syntaxe

typedef struct D3D12_FEATURE_DATA_D3D12_OPTIONS {
  BOOL                                  DoublePrecisionFloatShaderOps;
  BOOL                                  OutputMergerLogicOp;
  D3D12_SHADER_MIN_PRECISION_SUPPORT    MinPrecisionSupport;
  D3D12_TILED_RESOURCES_TIER            TiledResourcesTier;
  D3D12_RESOURCE_BINDING_TIER           ResourceBindingTier;
  BOOL                                  PSSpecifiedStencilRefSupported;
  BOOL                                  TypedUAVLoadAdditionalFormats;
  BOOL                                  ROVsSupported;
  D3D12_CONSERVATIVE_RASTERIZATION_TIER ConservativeRasterizationTier;
  UINT                                  MaxGPUVirtualAddressBitsPerResource;
  BOOL                                  StandardSwizzle64KBSupported;
  D3D12_CROSS_NODE_SHARING_TIER         CrossNodeSharingTier;
  BOOL                                  CrossAdapterRowMajorTextureSupported;
  BOOL                                  VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation;
  D3D12_RESOURCE_HEAP_TIER              ResourceHeapTier;
} D3D12_FEATURE_DATA_D3D12_OPTIONS;

Membres

DoublePrecisionFloatShaderOps

Spécifie si les types doubles sont autorisés pour les opérations de nuanceur. Si la valeur est TRUE, les types doubles sont autorisés ; sinon , FALSE. Les opérations prises en charge sont équivalentes au membre ExtendedDoublesShaderInstructions de Direct3D 11 de la structure D3D11_FEATURE_DATA_D3D11_OPTIONS .

Pour utiliser un nuanceur HLSL compilé avec un type double , le runtime doit définir DoublePrecisionFloatShaderOps sur TRUE.

OutputMergerLogicOp

Spécifie si les opérations logiques sont disponibles dans l’état de fusion. Le runtime définit ce membre sur TRUE si les opérations logiques sont disponibles dans l’état de fusion et FALSE dans le cas contraire. Ce membre a la valeur FALSE pour les niveaux de fonctionnalité 9.1, 9.2 et 9.3. Ce membre est facultatif pour les niveaux de fonctionnalité 10, 10.1 et 11. Ce membre est TRUE pour les niveaux de fonctionnalité 11.1 et 12.

MinPrecisionSupport

Combinaison de valeurs D3D12_SHADER_MIN_PRECISION_SUPPORT typées qui sont combinées à l’aide d’une opération OR au niveau du bit. La valeur résultante spécifie les niveaux de précision minimaux que le pilote prend en charge pour les étapes du nuanceur. La valeur zéro indique que le pilote ne prend en charge que la précision complète 32 bits pour toutes les étapes du nuanceur.

TiledResourcesTier

Spécifie si le matériel et le pilote prennent en charge les ressources en mosaïque. Le runtime définit ce membre sur une valeur de type D3D12_TILED_RESOURCES_TIER qui indique si le matériel et le pilote prennent en charge les ressources en mosaïques et à quel niveau.

ResourceBindingTier

Spécifie le niveau auquel le matériel et le pilote prennent en charge la liaison de ressources. Le runtime définit ce membre sur une valeur de type D3D12_RESOURCE_BINDING_TIER qui indique le niveau.

PSSpecifiedStencilRefSupported

Spécifie si la référence de gabarit de nuanceur de pixels est prise en charge. Si la valeur est TRUE, elle est prise en charge ; sinon , FALSE.

TypedUAVLoadAdditionalFormats

Spécifie si le chargement de formats supplémentaires pour les vues d’accès non ordonné (UAV) typées est pris en charge. Si la valeur est TRUE, elle est prise en charge ; sinon , FALSE.

ROVsSupported

Spécifie si les vues d’ordre de rastériseur (ROV) sont prises en charge. Si la valeur est TRUE, elles sont prises en charge ; sinon , FALSE.

ConservativeRasterizationTier

Spécifie le niveau auquel le matériel et le pilote prennent en charge la rastérisation conservatrice. Le runtime définit ce membre sur une valeur de type D3D12_CONSERVATIVE_RASTERIZATION_TIER qui indique le niveau.

MaxGPUVirtualAddressBitsPerResource

N’utilisez pas ce champ ; utilisez plutôt la requête D3D12_FEATURE_DATA_GPU_VIRTUAL_ADDRESS_SUPPORT (structure avec un membre MaxGPUVirtualAddressBitsPerResource ), ce qui est plus précis.

StandardSwizzle64KBSupported

TRUE si le matériel prend en charge les textures avec le modèle swizzle standard de 64 Ko. La prise en charge de ce modèle permet d’optimiser la texture de copie zéro tout en fournissant une localité quasi équilatérale pour chaque dimension au sein de la texture. Pour connaître les options et restrictions relatives aux textures, consultez D3D12_TEXTURE_LAYOUT.

CrossNodeSharingTier

Constante d’énumération D3D12_CROSS_NODE_SHARING_TIER qui spécifie le niveau de partage entre les nœuds d’un adaptateur qui a plusieurs nœuds, comme le niveau 1 émulé, le niveau 1 ou le niveau 2.

CrossAdapterRowMajorTextureSupported

FALSE signifie que l’appareil prend uniquement en charge les opérations de copie vers et à partir de textures principales de ligne inter-adaptateurs. TRUE signifie que l’appareil prend en charge les vues de ressources du nuanceur, les vues d’accès non ordonnées et le rendu des vues cibles des textures principales de ligne inter-adaptateurs. Le terme « adaptateur croisé » signifie entre plusieurs adaptateurs (même à partir de différents IHV).

VPAndRTArrayIndexFromAnyShaderFeedingRasterizerSupportedWithoutGSEmulation

Indique si l’index de tableau de la fenêtre d’affichage (VP) et de la cible de rendu (RT) de n’importe quel nuanceur alimentant le rastériseur sont pris en charge sans émulation de nuanceur géométrique. Comparez le membre VPAndRTArrayIndexFromAnyShaderFeedingRasterizer de la structure D3D11_FEATURE_DATA_D3D11_OPTIONS3 . Dans ID3D12ShaderReflection ::GetRequiresFlags, consultez la #define D3D_SHADER_REQUIRES_VIEWPORT_AND_RT_ARRAY_INDEX_FROM_ANY_SHADER_FEEDING_RASTERIZER.

ResourceHeapTier

Spécifie le niveau auquel le matériel et le pilote nécessitent une attribution de tas liée au type de ressource. Le runtime définit ce membre sur une constante d’énumération D3D12_RESOURCE_HEAP_TIER .

Remarques

Voir D3D12_FEATURE.

Configuration requise

Condition requise Valeur
En-tête d3d12.h

Voir aussi

Pixellisation conservatrice

Structures principales

D3D12_FEATURE

Affichage ordonné du rastériseur