Assinaturas raiz
A assinatura raiz define quais tipos de recursos estão associados ao pipeline gráfico.
Nesta seção
Tópico | Descrição |
---|---|
Visão geral das assinaturas raiz |
Uma assinatura raiz é configurada pelo aplicativo e vincula listas de comandos aos recursos necessários pelos sombreadores. A lista de comandos gráficos tem um elemento gráfico e uma assinatura raiz de computação. Uma lista de comandos de computação terá simplesmente uma assinatura raiz de computação. Essas assinaturas 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 de descritor (incluindo seu layout), constantes raiz e descritores 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 um de assinatura raiz |
As assinaturas raiz são uma estrutura de dados complexa que contém estruturas aninhadas. Elas podem ser definidas 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 HLSL (Linguagem de Sombreamento de Alto Nível), oferecendo a vantagem de que o compilador validará antecipadamente que o layout é compatível com o sombreador. |
limites de assinatura raiz |
A assinatura raiz é um imóvel principal, e há limites e custos rigorosos a serem considerados. |
usando constantes diretamente no de assinatura raiz |
Os aplicativos podem definir constantes raiz na assinatura raiz, cada uma como um conjunto de valores de 32 bits. Eles aparecem em HLSL (Linguagem de Sombreamento de Alto Nível) como um buffer constante. Observe que buffers constantes por motivos históricos são exibidos 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 a necessidade de passar por um heap de descritor. Esses descritores têm muito espaço na assinatura raiz (consulte a seção limites de assinatura raiz), portanto, os aplicativos precisam usá-los com moderação. |
exemplo de assinaturas raiz |
A seção a seguir mostra assinaturas raiz variando em complexidade de vazia a completamente cheia. |
especificando assinaturas raiz no HLSL |
Especificar assinaturas raiz no HLSL Shader Model 5.1 é uma alternativa para especificá-las no código C++. |
assinatura raiz versão 1.1 |
A finalidade da Assinatura Raiz versão 1.1 é permitir que os aplicativos indiquem aos drivers quando os descritores em um heap de descritor não são alterados ou os descritores de dados que apontam não serão alterados. Isso permite que os drivers façam otimizações que podem ser possíveis sabendo que um descritor ou a memória que ele aponta é estático por algum período de tempo. |