Syntaxe
Membres
MaxWavesWithLateAllocParameterCacheType : UINT Spécifie le nombre maximal de vagues de dernière étape autorisées à s’exécuter sans allouer d’espace dans le cache de paramètres à allocation tardive. Des valeurs plus élevées permettent d’exécuter davantage de vagues, mais peuvent provoquer une contention dans les unités SIMD (Single Instruction Multiple Data), car les nuanceurs se bloquent sur la première instruction exp jusqu’à ce que de l’espace soit disponible, monopolisant potentiellement des emplacements de vagues, des GPR et d’autres ressources partagées. La « dernière étape » est l’étape qui précède le nuanceur de pixels : VS, DS ou GS. Pour GS, cela n’affecte que la partie pass-through du nuanceur. Pour trouver les paramètres optimaux pour différentes parties d’une scène, envisagez d’utiliser les expériences Dr. PIX. Définir MaxWavesWithLateAllocParameterCache à une valeur supérieure à 22 peut entraîner des interblocages du GPU. Si ces interblocages sont causés par une transition du pipeline GPU, ils peuvent être rares et difficiles à reproduire. Pour éviter de tels interblocages avec des valeurs élevées du membre MaxWavesWithLateAllocParameterCache, assurez-vous que le membre VSDisableCUMask a une valeur non nulle, afin qu’au moins une unité de calcul (CU) n’exécute pas de nuanceurs de sommets, ce qui évite les interblocages. En général, par rapport aux gains de performances obtenus en définissant MaxWavesWithLateAllocParameterCache, l’impact sur les performances de l’opération de masquage est négligeable. VSDisableFlags
Type : D3D12XBOX_SHADER_UNIT_DISABLE_FLAGS Champ de bits qui spécifie les unités de calcul à désactiver pour le nuanceur de sommets. reserved0
Type : UINT Réservé. GSDisableFlags
Type : D3D12XBOX_SHADER_UNIT_DISABLE_FLAGS Champ de bits qui spécifie les unités de calcul à désactiver pour le nuanceur de géométrie. PSDisableFlags
Type : D3D12XBOX_SHADER_UNIT_DISABLE_FLAGS Champ de bits qui spécifie les unités de calcul à désactiver pour le nuanceur de pixels. VSMaxWaves
Type : UINT Spécifie le nombre maximal de vagues VS autorisées à s’exécuter simultanément sur le GPU. HSMaxWaves
Type : UINT Spécifie le nombre maximal de vagues HS autorisées à s’exécuter simultanément sur le GPU. reserved1
Type : UINT Réservé. GSMaxWaves
Type : UINT Spécifie le nombre maximal de vagues GS autorisées à s’exécuter simultanément sur le GPU. PSMaxWaves
Type : UINT Spécifie le nombre maximal de vagues PS autorisées à s’exécuter simultanément sur le GPU. VSMaxWavesForCuLocking
Type : UINT Spécifie le nombre maximal de vagues VS permettant le verrouillage des CU. HSMaxWavesForCuLocking
Type : UINT Spécifie le nombre maximal de vagues HS permettant le verrouillage des CU. reserved2
Type : UINT Réservé. GSMaxWavesForCuLocking
Type : UINT Spécifie le nombre maximal de vagues GS permettant le verrouillage des CU. PSMaxWavesForCuLocking
Type : UINT Spécifie le nombre maximal de vagues PS permettant le verrouillage des CU.
Remarques
Avec les paramètres MaxWavesForCuLocking, si le nombre de vagues en cours d’exécution est inférieur à ce nombre maximal et si une nouvelle vague est prête mais ne peut être planifiée nulle part, le GPU « verrouille » une unité de calcul (CU) de sorte qu’aucune nouvelle vague provenant d’autres étapes (ou pipes) ne puisse l’utiliser tant que la nouvelle vague de cette étape n’a pas été lancée. Cela permet de contrôler la « famine ». Utilisez la fonction d’assistance inline D3D12XboxInitializeDefaultGraphicsShaderLimits pour initialiser une structure D3D12XBOX_GRAPHICS_SHADER_LIMITS_DESC avec les valeurs par défaut.- D3D12XboxInitializeDefaultGraphicsShaderLimits
- SetGraphicsShaderLimitsX
- XboxSetGraphicsShaderLimits
- XboxSetGraphicsShaderLimits
- D3D12XBOX_DERIVED_GRAPHICS_STATE_DESC
- D3D12XBOX_EXTENDED_GRAPHICS_PIPELINE_STATE_DESC
- D3D12XBOX_EXTENDED_GRAPHICS_PIPELINE_STATE_DESC
Configuration requise
En-tête : d3d12_xs.hPlateformes prises en charge : consoles XBOX Series
