é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 |