DXGK_DEVICEINFO structure (d3dkmddi.h)
La structure DXGK_DEVICEINFO décrit les paramètres que le sous-système du noyau graphique Microsoft DirectX exige du pilote miniport d’affichage.
Syntaxe
typedef struct _DXGK_DEVICEINFO {
[out] UINT DmaBufferSize;
[out] UINT DmaBufferSegmentSet;
[out] UINT DmaBufferPrivateDataSize;
[out] UINT AllocationListSize;
[out] UINT PatchLocationListSize;
[out] DXGK_DEVICEINFOFLAGS Flags;
} DXGK_DEVICEINFO;
Membres
[out] DmaBufferSize
Taille, en octets, de la mémoire tampon des commandes matérielles envoyées via l’accès direct à la mémoire (DMA) au matériel.
La mémoire tampon DMA peut croître et diminuer après la création de l’appareil ; Toutefois, la mémoire tampon DMA ne peut jamais réduire la taille de départ spécifiée par DmaBufferSize .
[out] DmaBufferSegmentSet
Identificateurs des segments dans lesquels les mémoires tampons DMA doivent être accessibles à l’unité de traitement graphique (GPU).
[out] DmaBufferPrivateDataSize
Taille, en octets, de la structure de données privées résidente du pilote associée à chaque mémoire tampon DMA. La mémoire de cette structure de données privée est allouée à partir d’un pool non paginé. Si le pilote spécifie zéro dans DmaBufferPrivateDataSize, aucune mémoire n’est allouée à la structure de données privée.
La structure de données privées associée à une mémoire tampon DMA est initialisée à zéro lors de la création de la mémoire tampon DMA. Pendant la durée de vie de la mémoire tampon DMA, le gestionnaire de mémoire vidéo n’accède jamais à la structure de données privée associée à la mémoire tampon DMA.
[out] AllocationListSize
Nombre initial d’éléments dans un tableau d’allocations (autrement dit, un tableau de structures DXGK_ALLOCATIONLIST ). Ce nombre est le nombre initial d’allocations que le pilote demande à être dans les membres pAllocationList de DXGKARG_PRESENT et DXGKARG_RENDER structures dans les appels aux fonctions DxgkDdiPresent et DxgkDdiRender du pilote.
La liste d’allocations peut croître et diminuer après la création de l’appareil ; Toutefois, la liste d’allocations ne peut jamais être inférieure à la taille de départ spécifiée par AllocationListSize .
[out] PatchLocationListSize
Nombre initial d’éléments dans un tableau d’emplacements de correctifs (autrement dit, un tableau de structures D3DDDI_PATCHLOCATIONLIST ) pour l’appareil en mode utilisateur et en mode noyau. Ce nombre est le nombre initial d’emplacements de correctifs que le pilote demande à être dans les membres pPatchLocationListIn des structures DXGKARG_RENDER dans les appels à sa fonction DxgkDdiRender .
La liste des emplacements des correctifs peut s’agrandir et se réduire après la création de l’appareil ; Toutefois, la liste d’emplacements des correctifs ne peut jamais être inférieure à la taille de départ spécifiée par PatchLocationListSize .
[out] Flags
Structure DXGK_DEVICEINFOFLAGS qui identifie, dans les indicateurs de champ binaire, des informations sur l’appareil.
Remarques
Le pilote de miniport d’affichage spécifie des valeurs pour les membres DmaBufferSize et AllocationListSize afin de garantir les éléments suivants :
- Le sous-système graphique DirectX ne peut utiliser qu’une seule mémoire tampon DMA pour afficher (à l’aide de la fonction DxgkDdiPresent du pilote de miniport d’affichage) au moins une structure RECT pour tous les scénarios.
- Les tailles des mémoires tampons DMA et allocation-list sont suffisamment grandes pour contenir au moins une commande qui ne peut pas être fractionnée entre plusieurs mémoires tampons.
- Les tailles des mémoires tampons DMA et de liste d’allocation sont suffisamment grandes pour éviter la surcharge d’installation et DMA.
Si le pilote définit DmaBufferSegmentSet sur 0, le gestionnaire de mémoire vidéo alloue une mémoire contiguë paginée, qui est mappée mémoire combinée en écriture, pour les mémoires tampons DMA. Par conséquent, le GPU doit accéder aux mémoires tampons DMA à l’aide de cycles PCI sur les systèmes où les transferts AGP qui se produisent en dehors de l’ouverture AGP ne sont pas autorisés.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista |
En-tête | d3dkmddi.h (include D3dkmddi.h) |