Firmas raíz

La firma raíz define qué tipos de recursos están enlazados a la canalización de gráficos.

En esta sección

Tema Descripción
Introducción a las firmas raíz
La aplicación configura una firma raíz y vincula las listas de comandos a los recursos que requieren los sombreadores. La lista de comandos de gráficos tiene tanto un gráfico como una firma raíz de proceso. Una lista de comandos de proceso simplemente tendrá una firma raíz de proceso. Estas firmas raíz son independientes entre sí.
Uso de una firma raíz
La firma raíz es la definición de una colección organizada arbitrariamente de tablas descriptores (incluido su diseño), constantes raíz y descriptores raíz. Cada entrada tiene un costo hacia un límite máximo, por lo que la aplicación puede equilibrar el saldo entre el número de cada tipo de entrada que contendrá la firma raíz.
Creación de una firma raíz
Las firmas raíz son una estructura de datos compleja que contiene estructuras anidadas. Se pueden definir mediante programación mediante la definición de estructura de datos siguiente (que incluye métodos para ayudar a inicializar miembros). Como alternativa, se pueden crear en lenguaje de sombreado de alto nivel (HLSL), lo que proporciona la ventaja de que el compilador validará pronto que el diseño es compatible con el sombreador.
Límites de la firma raíz
La firma raíz es una propiedad inmobiliaria privilegiada y hay límites y costos estrictos que se deben tener en cuenta.
Uso de constantes directamente en la firma raíz
Las aplicaciones pueden definir constantes raíz en la firma raíz, cada una como un conjunto de valores de 32 bits. Aparecen en Lenguaje de sombreado de alto nivel (HLSL) como un búfer de constantes. Tenga en cuenta que los búferes de constantes por motivos históricos se ven como conjuntos de valores de 4 x 32 bits.
Uso de descriptores directamente en la firma raíz
Las aplicaciones pueden colocar descriptores directamente en la firma raíz para evitar tener que pasar por un montón de descriptores. Estos descriptores ocupan mucho espacio en la firma raíz (consulte la sección límites de firma raíz), por lo que las aplicaciones tienen que usarlas con moderación.
Ejemplos de firmas raíz
En la sección siguiente se muestran las firmas raíz que varían en complejidad, de vacías a completamente completas.
Especificación de firmas de raíz en HLSL
Especificar firmas raíz en HLSL Shader Model 5.1 es una alternativa a especificarlas en el código de C++.
Versión 1.1 de la firma raíz
El propósito de la versión 1.1 de la firma raíz es permitir que las aplicaciones indiquen a los controladores cuando los descriptores de un montón de descriptores no cambian o los descriptores de datos apuntan a que no cambiarán. Esto permite que los controladores realicen optimizaciones que podrían ser posibles sabiendo que un descriptor o la memoria a la que apunta es estático durante algún período de tiempo.

ID3D12RootSignature

ID3D12RootSignatureDeserializer

Enlace de recursos