D3D12_DESCRIPTOR_HEAP_FLAGS enumeração (d3d12.h)
Especifica opções para um heap.
Syntax
typedef enum D3D12_DESCRIPTOR_HEAP_FLAGS {
D3D12_DESCRIPTOR_HEAP_FLAG_NONE = 0,
D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE = 0x1
} ;
Constantes
D3D12_DESCRIPTOR_HEAP_FLAG_NONE Valor: 0 Indica o uso padrão de um heap. |
D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE Valor: 0x1 Opcionalmente , o sinalizador D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE pode ser definido em um heap de descritor para indicar que ele está associado a uma lista de comandos para referência por sombreadores. Os heaps de descritor criados sem esse sinalizador permitem aos aplicativos a opção de preparar descritores na memória da CPU antes de copiá-los para um heap de descritor visível do sombreador, como uma conveniência. Mas também é bom que os aplicativos criem descritores diretamente em heaps de descritor visíveis do sombreador sem necessidade de preparar nada na CPU. Heaps de descritor associados via ID3D12GraphicsCommandList::SetDescriptorHeaps devem ter o sinalizador D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE definido, caso contrário, a camada de depuração produzirá um erro. Heaps de descritor com o sinalizador D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE não podem ser usados como heaps de origem em chamadas para ID3D12Device::CopyDescriptors ou ID3D12Device::CopyDescriptorsSimple, pois eles podem ser residentes em memória WRITE_COMBINE ou memória local de GPU, o que é muito ineficiente para leitura. Esse sinalizador só se aplica a heaps de descritor CBV/SRV/UAV e heaps de descritor de sampler. Ele não se aplica a outros tipos de heap de descritor, pois os sombreadores não fazem referência direta aos outros tipos. Tentar criar um heap RTV/DSV com D3D12_DESCRIPTOR_HEAP_FLAG_SHADER_VISIBLE resulta em um erro de camada de depuração. |
Comentários
Essa enumeração é usada pela estrutura D3D12_DESCRIPTOR_HEAP_DESC .
Requisitos
Cabeçalho | d3d12.h |