ps_2_x
Un nuanceur de pixels programmable est constitué d’un ensemble d’instructions qui fonctionnent sur les données de pixels. Enregistre les données de transfert dans et hors de l’ALU. Un contrôle supplémentaire peut être appliqué pour modifier l’instruction, les résultats ou les données écrites.
- ps_2_x Instructions contient une liste des instructions disponibles.
- ps_2_x Registers répertorie les différents types de registres utilisés par l’ALU du nuanceur de vertex.
- Modificateurs Sont utilisés pour modifier le fonctionnement d’une instruction.
- Le masque d’écriture du registre de destination détermine quels composants du registre de destination sont écrits.
- Les modificateurs de registre source du nuanceur de pixels modifient les données du registre source avant l’exécution de l’instruction.
- La swizzling du registre source permet de contrôler davantage les composants de registre qui sont lus, copiés ou écrits.
Contrôle de flux dynamique
DynamicFlowControlDepth représente la profondeur d’imbrication des instructions de contrôle de flux dynamique : if, if_comp, if_pred, break - ps et break_comp - ps. La valeur est égale à la profondeur d’imbrication du bloc if_comp. Si cette limite est égale à zéro, l’appareil ne prend pas en charge les instructions de contrôle de flux dynamique.
Nombre de registres temporaires
Nombre de registres temporaires pris en charge par l’appareil. La plage est comprise entre 12 et 32.
Profondeur d’imbrication du contrôle de flux statique
StaticFlowControlDepth représente la profondeur d’imbrication de deux types d’instructions de contrôle de flux statique : boucle /rep et callnz /. les instructions de boucle /rep peuvent être imbriquées jusqu’à StaticFlowControlDepth deep. Indépendamment, les instructions d’appel /callnz peuvent être imbriquées jusqu’à StaticFlowControlDepth deep.
Nombre d’emplacements d’instruction
Le nombre d’emplacements d’instruction peut être compris entre 96 et 512 au maximum, et est spécifié par maxPixelShaderInstructionSlots. Le nombre total d’instructions pouvant s’exécuter est défini par MaxPixelShaderInstructionsExecuted. Cela peut être supérieur au nombre d’emplacements d’instruction en raison d’appels de boucle et de sous-routine.
Swizzle arbitraire
Si D3DD3DPSHADERCAPS2_0_ARBITRARYSWIZZLE est défini, le swizzle arbitraire est pris en charge. Consultez Registre source Swizzling.
Instructions de dégradé
Si D3DD3DPSHADERCAPS2_0_GRADIENTINSTRUCTIONS est défini, les instructions de dégradé sont prises en charge. Consultez dsx - ps, dsy - ps et texldd - ps.
Prédicat
Si D3DD3DPSHADERCAPS2_0_PREDICATION est défini, la prédication des instructions est prise en charge. Consultez Registre des prédicats.
Limite de lecture dépendante
Si D3DD3DPSHADERCAPS2_0_NODEPENDENTREADLIMIT est défini, il n’existe aucune limite de lecture dépendante.
Limite des instructions de texture
Si D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT est défini, les instructions de texture n’ont pas de limite.
Nombre d’échantillonneurs
Le nombre d’échantillonneurs de texture disponibles est de 16.
Rubriques connexes