Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
A assinatura raiz define quais tipos de recursos estão vinculados ao pipeline de gráficos.
Nesta secção
Tópico | Descrição |
---|---|
Visão geral das assinaturas raiz |
Uma assinatura raiz é configurada pelo aplicativo e vincula as listas de comandos aos recursos que os sombreadores exigem. A lista de comandos gráficos tem uma assinatura raiz gráfica e de computação. Uma lista de comandos de computação terá simplesmente uma assinatura raiz de computação. Essas assinaturas de raiz são independentes umas das outras. |
Usando uma assinatura raiz |
A assinatura raiz é a definição de uma coleção arbitrariamente organizada de tabelas descritoras (incluindo seu layout), constantes de raiz e descritores de raiz. Cada entrada tem um custo para um limite máximo, de modo que o aplicativo pode trocar o saldo entre quantos de cada tipo de entrada a assinatura raiz conterá. |
Criando uma assinatura raiz |
As assinaturas raiz são uma estrutura de dados complexa que contém estruturas aninhadas. Eles podem ser definidos programaticamente usando a definição de estrutura de dados abaixo (que inclui métodos para ajudar a inicializar membros). Como alternativa, eles podem ser criados em High Level Shading Language (HLSL), dando a vantagem de que o compilador validará antecipadamente que o layout é compatível com o sombreador. |
Limites de assinatura raiz |
A assinatura raiz é o imobiliário principal, e há limites estritos e custos a considerar. |
Usando constantes diretamente no de assinatura raiz |
Os aplicativos podem definir constantes de raiz na assinatura raiz, cada uma como um conjunto de valores de 32 bits. Eles aparecem em High Level Shading Language (HLSL) como um buffer constante. Observe que os buffers constantes por motivos históricos são vistos como conjuntos de valores de 4x32 bits. |
Usando descritores diretamente no de assinatura raiz |
Os aplicativos podem colocar descritores diretamente na assinatura raiz para evitar ter que passar por um heap descritor. Esses descritores ocupam muito espaço na assinatura raiz (consulte a seção de limites de assinatura raiz), então os aplicativos precisam usá-los com moderação. |
Exemplo de assinaturas raiz |
A seção a seguir mostra assinaturas raiz variando em complexidade de vazias a completamente cheias. |
Especificando assinaturas raiz no HLSL |
Especificar assinaturas raiz no HLSL Shader Model 5.1 é uma alternativa para especificá-las no código C++. |
Root Signature Versão 1.1 |
O objetivo do Root Signature versão 1.1 é permitir que os aplicativos indiquem aos drivers quando os descritores em um heap descritor não mudam ou os descritores de dados apontam para não mudam. Isso permite que os drivers façam otimizações que podem ser possíveis sabendo que um descritor ou a memória para a qual ele aponta é estática por algum período de tempo. |