énumération D3D12_ROOT_SIGNATURE_FLAGS (d3d12.h)

Spécifie les options pour la disposition de signature racine.

Syntaxe

typedef enum D3D12_ROOT_SIGNATURE_FLAGS {
  D3D12_ROOT_SIGNATURE_FLAG_NONE = 0,
  D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT = 0x1,
  D3D12_ROOT_SIGNATURE_FLAG_DENY_VERTEX_SHADER_ROOT_ACCESS = 0x2,
  D3D12_ROOT_SIGNATURE_FLAG_DENY_HULL_SHADER_ROOT_ACCESS = 0x4,
  D3D12_ROOT_SIGNATURE_FLAG_DENY_DOMAIN_SHADER_ROOT_ACCESS = 0x8,
  D3D12_ROOT_SIGNATURE_FLAG_DENY_GEOMETRY_SHADER_ROOT_ACCESS = 0x10,
  D3D12_ROOT_SIGNATURE_FLAG_DENY_PIXEL_SHADER_ROOT_ACCESS = 0x20,
  D3D12_ROOT_SIGNATURE_FLAG_ALLOW_STREAM_OUTPUT = 0x40,
  D3D12_ROOT_SIGNATURE_FLAG_LOCAL_ROOT_SIGNATURE = 0x80,
  D3D12_ROOT_SIGNATURE_FLAG_DENY_AMPLIFICATION_SHADER_ROOT_ACCESS = 0x100,
  D3D12_ROOT_SIGNATURE_FLAG_DENY_MESH_SHADER_ROOT_ACCESS = 0x200,
  D3D12_ROOT_SIGNATURE_FLAG_CBV_SRV_UAV_HEAP_DIRECTLY_INDEXED = 0x400,
  D3D12_ROOT_SIGNATURE_FLAG_SAMPLER_HEAP_DIRECTLY_INDEXED = 0x800
} ;

Constantes

 
D3D12_ROOT_SIGNATURE_FLAG_NONE
Valeur : 0
Indique le comportement par défaut.
D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT
Valeur : 0x1
L’application choisit d’utiliser l’assembleur d’entrée (nécessitant une disposition d’entrée qui définit un ensemble de liaisons de mémoire tampon de vertex). L’omission de cet indicateur peut entraîner l’enregistrement d’un espace d’argument racine sur certains matériels. Omettez cet indicateur si l’assembleur d’entrée n’est pas nécessaire, bien que l’optimisation soit mineure.
D3D12_ROOT_SIGNATURE_FLAG_DENY_VERTEX_SHADER_ROOT_ACCESS
Valeur : 0x2
Refuse au nuanceur de vertex l’accès à la signature racine.
D3D12_ROOT_SIGNATURE_FLAG_DENY_HULL_SHADER_ROOT_ACCESS
Valeur : 0x4
Refuse au nuanceur de coque l’accès à la signature racine.
D3D12_ROOT_SIGNATURE_FLAG_DENY_DOMAIN_SHADER_ROOT_ACCESS
Valeur : 0x8
Refuse au nuanceur de domaine l’accès à la signature racine.
D3D12_ROOT_SIGNATURE_FLAG_DENY_GEOMETRY_SHADER_ROOT_ACCESS
Valeur : 0x10
Refuse au nuanceur geometry l’accès à la signature racine.
D3D12_ROOT_SIGNATURE_FLAG_DENY_PIXEL_SHADER_ROOT_ACCESS
Valeur : 0x20
Refuse au nuanceur de pixels l’accès à la signature racine.
D3D12_ROOT_SIGNATURE_FLAG_ALLOW_STREAM_OUTPUT
Valeur : 0x40
L’application choisit d’utiliser Stream Output. L’omission de cet indicateur peut entraîner l’enregistrement d’un espace d’argument racine sur certains matériels. Omettez cet indicateur si Stream Output n’est pas nécessaire, bien que l’optimisation soit mineure.
D3D12_ROOT_SIGNATURE_FLAG_LOCAL_ROOT_SIGNATURE
Valeur : 0x80
La signature racine doit être utilisée avec les nuanceurs de raytracing pour définir des liaisons de ressources provenant d’enregistrements de nuanceur dans les tables de nuanceur. Cet indicateur ne peut pas être combiné avec d’autres indicateurs de signature racine, qui sont tous liés au pipeline graphique. L’absence de l’indicateur signifie que la signature racine peut être utilisée avec des graphiques ou du calcul, où la version de calcul est également partagée avec la signature racine globale de raytracing.
D3D12_ROOT_SIGNATURE_FLAG_DENY_AMPLIFICATION_SHADER_ROOT_ACCESS
Valeur : 0x100
Refuse au nuanceur d’amplification l’accès à la signature racine.
D3D12_ROOT_SIGNATURE_FLAG_DENY_MESH_SHADER_ROOT_ACCESS
Valeur : 0x200
Refuse au nuanceur de maillage l’accès à la signature racine.
D3D12_ROOT_SIGNATURE_FLAG_CBV_SRV_UAV_HEAP_DIRECTLY_INDEXED
Valeur : 0x400
Les nuanceurs sont autorisés à indexer le tas de descripteur CBV/SRV/UAV directement, à l’aide de la variable intégrée ResourceDescriptorHeap .
D3D12_ROOT_SIGNATURE_FLAG_SAMPLER_HEAP_DIRECTLY_INDEXED
Valeur : 0x800
Les nuanceurs sont autorisés à indexer le tas de descripteur d’échantillonneur directement, à l’aide de la variable intégrée SamplerDescriptorHeap .

Notes

Cette énumération est utilisée dans la structure D3D12_ROOT_SIGNATURE_DESC .

La valeur du refus d’accès aux étapes du nuanceur est une optimisation mineure sur certains matériels. Si, par exemple, l’indicateur D3D12_SHADER_VISIBILITY_ALL a été défini pour diffuser la signature racine à toutes les étapes du nuanceur, le refus de l’accès peut remplacer ce paramètre et économiser du travail sur le matériel. Si le nuanceur est si simple qu’aucune ressource de signature racine n’est nécessaire, le refus de l’accès peut également être utilisé ici.

Spécifications

   
En-tête d3d12.h

Voir aussi

Énumérations principales

Création d’une signature racine

D3D12_ROOT_SIGNATURE_DESC