Partager via


énumération D3D12_DESCRIPTOR_RANGE_FLAGS (d3d12.h)

Spécifie la volatilité des deux descripteurs et les données qu’ils référencent dans une description De signature racine 1.1, ce qui peut permettre certaines optimisations de pilote.

Syntaxe

typedef enum D3D12_DESCRIPTOR_RANGE_FLAGS {
  D3D12_DESCRIPTOR_RANGE_FLAG_NONE = 0,
  D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_VOLATILE = 0x1,
  D3D12_DESCRIPTOR_RANGE_FLAG_DATA_VOLATILE = 0x2,
  D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE = 0x4,
  D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC = 0x8,
  D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS = 0x10000
} ;

Constantes

 
D3D12_DESCRIPTOR_RANGE_FLAG_NONE
Valeur : 0
Comportement par défaut Les descripteurs sont statiques, et des hypothèses par défaut sont faites pour les données (pour SRV/CBV : DATA_STATIC_WHILE_SET_AT_EXECUTE et pour UAV : DATA_VOLATILE).
D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_VOLATILE
Valeur : 0x1
S’il s’agit du seul jeu d’indicateurs, les descripteurs sont volatiles et des hypothèses par défaut sont faites sur les données (pour SRV/CBV : DATA_STATIC_WHILE_SET_AT_EXECUTE et pour UAV : DATA_VOLATILE).

Si cet indicateur est combiné avec DATA_VOLATILE, les descripteurs et les données sont volatiles, ce qui équivaut à la version de signature racine 1.0.

Si cet indicateur est combiné avec DATA_STATIC_WHILE_SET_AT_EXECUTE, les descripteurs sont volatiles. Cela ne leur permet toujours pas de changer pendant l’exécution de la liste de commandes. Il est donc valide de combiner la déclaration supplémentaire indiquant que les données sont statiques lors de la définition via la table de descripteur racine pendant l’exécution . Les descripteurs sous-jacents sont effectivement statiques pendant plus longtemps que les données sont promises statiques.
D3D12_DESCRIPTOR_RANGE_FLAG_DATA_VOLATILE
Valeur : 0x2
Les descripteurs sont statiques et les données sont volatiles.
D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC_WHILE_SET_AT_EXECUTE
Valeur : 0x4
Les descripteurs sont statiques et les données sont statiques lors de l’exécution.
D3D12_DESCRIPTOR_RANGE_FLAG_DATA_STATIC
Valeur : 0x8
Les descripteurs et les données sont statiques. Cela optimise le potentiel d’optimisation du pilote.
D3D12_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS
Valeur : 0x10000
Offre les mêmes avantages que les descripteurs statiques (voir D3D12_DESCRIPTOR_RANGE_FLAG_NONE), à ceci près que le pilote n’est pas autorisé à promouvoir des tampons en tant qu’optimisation, car ils doivent gérer des vérifications de limites et les descripteurs racine n’en ont pas.

Notes

Cette énumération est utilisée par la structure D3D12_DESCRIPTOR_RANGE1 .

Pour spécifier la volatilité des données référencées uniquement par les descripteurs, reportez-vous à D3D12_ROOT_DESCRIPTOR_FLAGS.

Spécifications

   
En-tête d3d12.h

Voir aussi

Énumérations principales

Signature racine version 1.1