Adaptateur d’affichage lié

Chaque adaptateur physique d’un lien LDA (Linked Display Adapter) peut prendre en charge GpuMmu ou IoMmu ou les deux modes d’adressage indépendamment.

Prise en charge d’IoMmu

Chaque adaptateur physique d’un lien peut prendre en charge le modèle IoMmu et/ou le modèle GpuMmu .

DxgkDdiCreateDevice sera appelé pour les adaptateurs logiques, qui prennent en charge le modèle IoMmu .

Prise en charge de GpuMmu

Toutes les cartes physiques d’un lien partagent le même espace d’adressage virtuel de processus, mais chaque unité de traitement graphique (GPU) a ses propres tables de pages. En règle générale, le contenu des tables de pages est différent sur chaque GPU.

Diagramme montrant les segments d’adressage de mémoire de l’adaptateur d’affichage liés.

Chaque adaptateur physique est autorisé à disposer de ses propres fonctionnalités GpuMmu (segment de table de page, nœud de mise à jour de table de page, disposition d’adresse virtuelle, format de table de page sous-jacent, taille, etc.). La seule restriction est que toutes les cartes physiques doivent avoir la même taille d’adresse virtuelle. GpuMmuCaps.VirtualAddressBitCount doit être identique pour toutes les cartes. Le pilote doit serrer la taille de l’espace d’adressage au plus petit des GPU physiques.

Le noyau graphique DirectX interroge désormais les majuscules GpuMmu pour chaque carte physique d’un lien. DxgkDdiQueryAdapterInfo (DXGKQAITYPE_PAGETABLELEVELDESC) sera également appelé pour chaque adaptateur physique.

InputDataSize et pInputData pour DxgkDdiQueryAdapterInfo(DXGKQAITYPE_GPUMMUCAPS) pointent vers DXGK_GPUMMUCAPSIN.

InputDataSize et pInputData pour DxgkDdiQueryAdapterInfo(DXGKQAITYPE_PAGETABLELEVELDESC) pointent vers DXGK_PAGETABLELEVELDESCIN.

DxgkDdiCreateDevice