enumerazione D3D12_ROOT_SIGNATURE_FLAGS (d3d12.h)
Specifica le opzioni per il layout della firma radice.
Sintassi
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
} ;
Costanti
D3D12_ROOT_SIGNATURE_FLAG_NONE Valore: 0 Indica il comportamento predefinito. |
D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT Valore: 0x1 L'app opta per l'uso dell'assembly di input (che richiede un layout di input che definisce un set di associazioni del buffer vertex). L'omettere questo flag può comportare il salvataggio di uno spazio di argomenti radice in alcuni hardware. Omettere questo flag se l'assembler di input non è obbligatorio, anche se l'ottimizzazione è minore. |
D3D12_ROOT_SIGNATURE_FLAG_DENY_VERTEX_SHADER_ROOT_ACCESS Valore: 0x2 Nega l'accesso del vertex shader alla firma radice. |
D3D12_ROOT_SIGNATURE_FLAG_DENY_HULL_SHADER_ROOT_ACCESS Valore: 0x4 Nega l'accesso dello shader dello scafo alla firma radice. |
D3D12_ROOT_SIGNATURE_FLAG_DENY_DOMAIN_SHADER_ROOT_ACCESS Valore: 0x8 Nega l'accesso dello shader di dominio alla firma radice. |
D3D12_ROOT_SIGNATURE_FLAG_DENY_GEOMETRY_SHADER_ROOT_ACCESS Valore: 0x10 Nega l'accesso geometry shader alla firma radice. |
D3D12_ROOT_SIGNATURE_FLAG_DENY_PIXEL_SHADER_ROOT_ACCESS Valore: 0x20 Nega l'accesso pixel shader alla firma radice. |
D3D12_ROOT_SIGNATURE_FLAG_ALLOW_STREAM_OUTPUT Valore: 0x40 L'app opta per l'uso dell'output di flusso. L'omettere questo flag può comportare il salvataggio di uno spazio di argomenti radice in alcuni hardware. Omettere questo flag se l'output di flusso non è obbligatorio, anche se l'ottimizzazione è secondaria. |
D3D12_ROOT_SIGNATURE_FLAG_LOCAL_ROOT_SIGNATURE Valore: 0x80 La firma radice deve essere usata con gli shader raytracing per definire le associazioni di risorse generate dai record shader nelle tabelle shader. Questo flag non può essere combinato con altri flag di firma radice, che sono tutti correlati alla pipeline grafica. L'assenza del flag indica che la firma radice può essere usata con grafica o calcolo, in cui la versione di calcolo è condivisa anche con la firma radice globale di raytracing. |
D3D12_ROOT_SIGNATURE_FLAG_DENY_AMPLIFICATION_SHADER_ROOT_ACCESS Valore: 0x100 Nega l'accesso dello shader di amplificazione alla firma radice. |
D3D12_ROOT_SIGNATURE_FLAG_DENY_MESH_SHADER_ROOT_ACCESS Valore: 0x200 Nega l'accesso a mesh shader alla firma radice. |
D3D12_ROOT_SIGNATURE_FLAG_CBV_SRV_UAV_HEAP_DIRECTLY_INDEXED Valore: 0x400 Gli shader possono indicizzare direttamente l'heap descrittore CBV/SRV/UAV usando la variabile predefinita ResourceDescriptorHeap . |
D3D12_ROOT_SIGNATURE_FLAG_SAMPLER_HEAP_DIRECTLY_INDEXED Valore: 0x800 Gli shader possono indicizzare direttamente l'heap del descrittore di sampler usando la variabile predefinita SamplerDescriptorHeap . |
Commenti
Questa enumerazione viene usata nella struttura D3D12_ROOT_SIGNATURE_DESC .
Il valore nella negazione dell'accesso alle fasi shader è un'ottimizzazione secondaria in alcuni hardware. Se, ad esempio, il flag D3D12_SHADER_VISIBILITY_ALL è stato impostato per trasmettere la firma radice a tutte le fasi dello shader, negare l'accesso può sovraruolere questo e salvare il lavoro hardware. In alternativa, se lo shader è così semplice che non sono necessarie risorse di firma radice, è possibile negare l'accesso anche qui.
Requisiti
Intestazione | d3d12.h |