Sintaxe
typedef enum D3D12_ROOT_SIGNATURE_FLAGS
{
D3D12_ROOT_SIGNATURE_FLAG_NONE = 0x0,
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,
D3D12XBOX_ROOT_SIGNATURE_FLAG_FORCE_MEMORY_BASED_ABI = 0x01000000,
D3D12XBOX_ROOT_SIGNATURE_FLAG_FORCE_COMPUTE_2_SPILL_AREA = 0x02000000,
D3D12XBOX_ROOT_SIGNATURE_FLAG_RAYTRACING = D3D12XBOX_ROOT_SIGNATURE_FLAG_FORCE_MEMORY_BASED_ABI,
D3D12XBOX_ROOT_SIGNATURE_FLAG_INTERNAL_XDXR = D3D12XBOX_ROOT_SIGNATURE_FLAG_FORCE_MEMORY_BASED_ABI | D3D12XBOX_ROOT_SIGNATURE_FLAG_FORCE_COMPUTE_2_SPILL_AREA
} D3D12_ROOT_SIGNATURE_FLAGS
Constantes
| Constante | Descrição |
|---|---|
| D3D12_ROOT_SIGNATURE_FLAG_NONE | Indica o comportamento padrão. |
| D3D12_ROOT_SIGNATURE_FLAG_ALLOW_INPUT_ASSEMBLER_INPUT_LAYOUT | O aplicativo está optando por usar o Input Assembler (que requer um layout de entrada que defina um conjunto de associações de buffer de vértice). Omitir esse sinalizador pode resultar na economia de um espaço de argumento raiz em alguns hardwares. Omita esse sinalizador se o Input Assembler não for necessário, embora a otimização seja pequena. |
| D3D12_ROOT_SIGNATURE_FLAG_DENY_VERTEX_SHADER_ROOT_ACCESS | Nega ao sombreador de vértice o acesso à assinatura raiz. |
| D3D12_ROOT_SIGNATURE_FLAG_DENY_HULL_SHADER_ROOT_ACCESS | Nega ao sombreador hull o acesso à assinatura raiz. |
| D3D12_ROOT_SIGNATURE_FLAG_DENY_DOMAIN_SHADER_ROOT_ACCESS | Nega ao sombreador de domínio o acesso à assinatura raiz. |
| D3D12_ROOT_SIGNATURE_FLAG_DENY_GEOMETRY_SHADER_ROOT_ACCESS | Nega ao sombreador de geometria o acesso à assinatura raiz. |
| D3D12_ROOT_SIGNATURE_FLAG_DENY_PIXEL_SHADER_ROOT_ACCESS | Nega ao sombreador de pixel o acesso à assinatura raiz. |
| D3D12_ROOT_SIGNATURE_FLAG_ALLOW_STREAM_OUTPUT | O aplicativo está optando por usar o Stream Output. Omitir esse sinalizador pode resultar na economia de um espaço de argumento raiz em alguns hardwares. Omita esse sinalizador se o Stream Output não for necessário, embora a otimização seja pequena. |
| D3D12_ROOT_SIGNATURE_FLAG_LOCAL_ROOT_SIGNATURE | A assinatura raiz deve ser usada com sombreadores de traçado de raios para definir associações de recursos provenientes de registros de sombreador em tabelas de sombreadores. Esse sinalizador não pode ser combinado com nenhum outro sinalizador de assinatura raiz, pois todos estão relacionados ao pipeline gráfico. A ausência do sinalizador significa que a assinatura raiz pode ser usada com gráficos ou computação, em que a versão de computação também é compartilhada com a assinatura raiz global do traçado de raios. |
| D3D12_ROOT_SIGNATURE_FLAG_DENY_AMPLIFICATION_SHADER_ROOT_ACCESS | Nega ao sombreador de amplificação o acesso à assinatura raiz. |
| D3D12_ROOT_SIGNATURE_FLAG_DENY_MESH_SHADER_ROOT_ACCESS | Nega ao sombreador de malha o acesso à assinatura raiz. |
| D3D12_ROOT_SIGNATURE_FLAG_CBV_SRV_UAV_HEAP_DIRECTLY_INDEXED | Os sombreadores podem indexar diretamente o heap de descritores CBV/SRV/UAV, usando a variável interna ResourceDescriptorHeap. |
| D3D12_ROOT_SIGNATURE_FLAG_SAMPLER_HEAP_DIRECTLY_INDEXED | Os sombreadores podem indexar diretamente o heap de descritores de amostrador, usando a variável interna SamplerDescriptorHeap. |
| D3D12XBOX_ROOT_SIGNATURE_FLAG_FORCE_MEMORY_BASED_ABI | Para que todos os parâmetros da assinatura raiz entrem no sombreador via memória, também conhecida como ‘shmem’, ou seja, nenhum registro de dados de usuário será usado nesse caso. Otimização potencial para seções limitadas pelo Command Processor. O CE gerenciará a memória automaticamente. |
| D3D12XBOX_ROOT_SIGNATURE_FLAG_FORCE_COMPUTE_2_SPILL_AREA | Força a assinatura raiz a usar o ‘alternative spill’ para sombreadores de computação. Usado internamente para DXR a fim de preservar os parâmetros raiz definidos pelo título. |
| D3D12XBOX_ROOT_SIGNATURE_FLAG_RAYTRACING | Obrigatório no XBOX para qualquer assinatura raiz que será usada com DispatchRays ou outras APIs de extensão DXR. Internamente, forçará D3D12XBOX_ROOT_SIGNATURE_FLAG_FORCE_MEMORY_BASED_ABI, o que pode resultar em uma lentidão mínima para sombreadores não DXR que compartilham a mesma assinatura raiz. Para obter os melhores resultados, tenha uma assinatura raiz específica para operações de traçado de raios. |
| D3D12XBOX_ROOT_SIGNATURE_FLAG_INTERNAL_XDXR | Sinalizador somente para uso interno. |
