structure D3D11_SIGNATURE_PARAMETER_DESC (d3d11shader.h)
Décrit une signature de nuanceur.
Syntaxe
typedef struct _D3D11_SIGNATURE_PARAMETER_DESC {
LPCSTR SemanticName;
UINT SemanticIndex;
UINT Register;
D3D_NAME SystemValueType;
D3D_REGISTER_COMPONENT_TYPE ComponentType;
BYTE Mask;
BYTE ReadWriteMask;
UINT Stream;
D3D_MIN_PRECISION MinPrecision;
} D3D11_SIGNATURE_PARAMETER_DESC;
Membres
SemanticName
Type : LPCSTR
Chaîne par paramètre qui identifie la façon dont les données seront utilisées. Pour plus d’informations, consultez Sémantique.
SemanticIndex
Type : UINT
Index sémantique qui modifie la sémantique. Utilisé pour différencier différents paramètres qui utilisent la même sémantique.
Register
Type : UINT
Registre qui contiendra les données de cette variable.
SystemValueType
Type : D3D_NAME
Valeur de type D3D_NAME qui identifie une chaîne prédéfinie qui détermine la fonctionnalité de certaines étapes de pipeline.
ComponentType
Type : D3D_REGISTER_COMPONENT_TYPE
Valeur de type D3D_REGISTER_COMPONENT_TYPE qui identifie le type de données par composant stocké dans un registre. Chaque registre peut stocker jusqu’à quatre composants de données.
Mask
Type : BYTE
Masque qui indique les composants d’un registre utilisés.
ReadWriteMask
Type : BYTE
Masque qui indique si un composant donné n’est jamais écrit (si la signature est une signature de sortie) ou toujours lu (si la signature est une signature d’entrée).
Stream
Type : UINT
Indique le flux que le nuanceur geometry utilise pour le paramètre de signature.
MinPrecision
Type : D3D_MIN_PRECISION
Valeur de type D3D_MIN_PRECISION qui indique la précision d’interpolation minimale souhaitée. Pour plus d’informations, consultez Utilisation de la précision minimale HLSL.
Remarques
Un nuanceur peut prendre n entrées et peut produire des sorties m. L’ordre des paramètres d’entrée (ou de sortie), leurs types associés et toute sémantique attachée constituent la signature du nuanceur. Chaque nuanceur a une signature d’entrée et une signature de sortie.
Lors de la compilation d’un nuanceur ou d’un effet, certains appels d’API valident les signatures du nuanceur. Autrement dit, ils comparent la signature de sortie d’un nuanceur (comme un nuanceur de vertex) avec la signature d’entrée d’un autre nuanceur (comme un nuanceur de pixels). Cela garantit qu’un nuanceur génère des données compatibles avec un nuanceur en aval qui consomme ces données. Compatible signifie qu’une signature de nuanceur est un sous-ensemble de correspondance exacte de la phase de nuanceur précédente. La correspondance exacte signifie que les types de paramètres et la sémantique doivent correspondre exactement. Sous-ensemble signifie qu’un paramètre qui n’est pas requis par une étape en aval n’a pas besoin d’inclure ce paramètre dans sa signature de nuanceur.
Obtenez une signature de nuanceur à partir d’un nuanceur ou d’un effet en appelant des API telles que ID3D11ShaderReflection ::GetInputParameterDesc.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | d3d11shader.h |