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

Vedi anche

Enumerazioni principali

Creazione di una firma radice

D3D12_ROOT_SIGNATURE_DESC