enumeração D3D12_ROOT_SIGNATURE_FLAGS (d3d12.h)
Especifica opções para layout de assinatura raiz.
Syntax
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 Valor: 0 Indica o comportamento padrão. |
D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT Valor: 0x1 O aplicativo está optando por usar o Assembler de Entrada (exigindo um layout de entrada que define um conjunto de associações de buffer de vértice). Omitir esse sinalizador pode fazer com que um espaço de argumento raiz seja salvo em algum hardware. Omita esse sinalizador se o Assembler de Entrada não for necessário, embora a otimização seja secundária. |
D3D12_ROOT_SIGNATURE_FLAG_DENY_VERTEX_SHADER_ROOT_ACCESS Valor: 0x2 Nega o acesso do sombreador de vértice à assinatura raiz. |
D3D12_ROOT_SIGNATURE_FLAG_DENY_HULL_SHADER_ROOT_ACCESS Valor: 0x4 Nega o acesso do sombreador de casco à assinatura raiz. |
D3D12_ROOT_SIGNATURE_FLAG_DENY_DOMAIN_SHADER_ROOT_ACCESS Valor: 0x8 Nega o acesso do sombreador de domínio à assinatura raiz. |
D3D12_ROOT_SIGNATURE_FLAG_DENY_GEOMETRY_SHADER_ROOT_ACCESS Valor: 0x10 Nega o acesso do sombreador de geometria à assinatura raiz. |
D3D12_ROOT_SIGNATURE_FLAG_DENY_PIXEL_SHADER_ROOT_ACCESS Valor: 0x20 Nega o acesso do sombreador de pixel à assinatura raiz. |
D3D12_ROOT_SIGNATURE_FLAG_ALLOW_STREAM_OUTPUT Valor: 0x40 O aplicativo está optando por usar o Stream Output. Omitir esse sinalizador pode fazer com que um espaço de argumento raiz seja salvo em algum hardware. Omita esse sinalizador se a Saída de Fluxo não for necessária, embora a otimização seja secundária. |
D3D12_ROOT_SIGNATURE_FLAG_LOCAL_ROOT_SIGNATURE Valor: 0x80 A assinatura raiz deve ser usada com sombreadores de raytracing para definir associações de recursos originadas de registros de sombreador em tabelas de sombreador. Esse sinalizador não pode ser combinado com nenhum outro sinalizador de assinatura raiz, todos relacionados ao pipeline gráfico. A ausência do sinalizador significa que a assinatura raiz pode ser usada com elementos gráficos ou computação, em que a versão de computação também é compartilhada com a assinatura raiz global do raytracing. |
D3D12_ROOT_SIGNATURE_FLAG_DENY_AMPLIFICATION_SHADER_ROOT_ACCESS Valor: 0x100 Nega o acesso do sombreador de amplificação à assinatura raiz. |
D3D12_ROOT_SIGNATURE_FLAG_DENY_MESH_SHADER_ROOT_ACCESS Valor: 0x200 Nega o acesso do sombreador de malha à assinatura raiz. |
D3D12_ROOT_SIGNATURE_FLAG_CBV_SRV_UAV_HEAP_DIRECTLY_INDEXED Valor: 0x400 Os sombreadores têm permissão para indexar o heap de descritor CBV/SRV/UAV diretamente, usando a variável interna ResourceDescriptorHeap . |
D3D12_ROOT_SIGNATURE_FLAG_SAMPLER_HEAP_DIRECTLY_INDEXED Valor: 0x800 Os sombreadores têm permissão para indexar o heap do descritor de amostra diretamente, usando a variável interna SamplerDescriptorHeap . |
Comentários
Essa enumeração é usada na estrutura D3D12_ROOT_SIGNATURE_DESC .
O valor em negar acesso a estágios de sombreador é uma otimização secundária em algum hardware. Se, por exemplo, o sinalizador D3D12_SHADER_VISIBILITY_ALL tiver sido definido para transmitir a assinatura raiz para todos os estágios do sombreador, negar o acesso poderá anular isso e salvar o hardware de algum trabalho. Como alternativa, se o sombreador for tão simples que nenhum recurso de assinatura raiz é necessário, negar o acesso também pode ser usado aqui.
Requisitos
Cabeçalho | d3d12.h |