enumerazione D3D12_DESCRIPTOR_HEAP_FLAGS (d3d12.h)
Specifica le opzioni per un heap.
Sintassi
typedef enum D3D12_DESCRIPTOR_HEAP_FLAGS {
D3D12_DESCRIPTOR_HEAP_FLAG_NONE = 0,
D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE = 0x1
} ;
Costanti
D3D12_DESCRIPTOR_HEAP_FLAG_NONE Valore: 0 Indica l'utilizzo predefinito di un heap. |
D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE Valore: 0x1 Il flag D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE può essere impostato facoltativamente su un heap descrittore per indicare che è associato a un elenco di comandi per riferimento da shader. Gli heaps descrittori creati senza questo flag consentono alle applicazioni di eseguire le fasi di descrittori in memoria DELLA CPU prima di copiarli in un heap visibile dello shader, come praticità. Ma è anche utile per le applicazioni creare direttamente descrittori in descrittori visibili di descrittore heaps senza alcun requisito per eseguire alcuna fase nella CPU. Il descrittore associato tramite ID3D12GraphicsCommandList::SetDescriptorHeaps deve avere il set di flag di D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE , in caso contrario, il livello di debug genererà un errore. L'heaps descrittore con il flag di D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE non può essere usato come heaps di origine nelle chiamate a ID3D12Device::CopyDescriptors o ID3D12Device::CopyDescriptorsSimple, perché potrebbero essere residenti in memoria WRITE_COMBINE o memoria locale della GPU, che è molto inefficiente da leggere. Questo flag si applica solo al descrittore CBV/SRV/UAV e al descrittore di sampler heaps. Non si applica ad altri tipi di heap descrittore poiché shader non fa riferimento direttamente agli altri tipi. Il tentativo di creare un heap RTV/DSV con D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE genera un errore del livello di debug. |
Commenti
Questa enumerazione viene usata dalla struttura D3D12_DESCRIPTOR_HEAP_DESC .
Requisiti
Intestazione | d3d12.h |