structure DXGK_DEVICEINFO (d3dkmddi.h)
La structure DXGK_DEVICEINFO décrit les paramètres requis par le sous-système du noyau graphique Microsoft DirectX à partir 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 réduire une fois l’appareil créé ; Toutefois, la mémoire tampon DMA ne peut jamais réduire la taille de départ qui DmaBufferSize spécifie.
[out] DmaBufferSegmentSet
Identificateurs des segments où les mémoires tampons DMA doivent être rendues accessibles à l’unité de traitement graphique (GPU).
[out] DmaBufferPrivateDataSize
Taille, en octets, de la structure de données privées résident du pilote associée à chaque mémoire tampon DMA. La mémoire de cette structure de données privées 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 pour 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 lorsque la mémoire tampon DMA est créée. 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 de départ d’éléments dans un tableau d’allocations (autrement dit, tableau de structures DXGK_ALLOCATIONLIST). Ce nombre correspond au nombre de départ d’allocations que le pilote demande d’être dans les pAllocationList membres de DXGKARG_PRESENT et de structures DXGKARG_RENDER dans les appels aux fonctions DxgkDdiPresent du pilote et fonctions DxgkDdiRender.
La liste d’allocations peut augmenter et réduire une fois l’appareil créé ; Toutefois, la liste d’allocations ne peut jamais réduire la taille de départ qui AllocationListSize spécifie.
[out] PatchLocationListSize
Nombre de départ d’éléments dans un tableau d’emplacements de correctifs (c’est-à-dire un tableau de structures D3DDDI_PATCHLOCATIONLIST) pour l’appareil en mode utilisateur et en mode noyau. Ce nombre correspond au nombre de début d’emplacements de correctifs que le pilote demande d’être dans le pPatchLocationListIn membres de structures DXGKARG_RENDER dans les appels à sa fonction DxgkDdiRender.
La liste d’emplacements des correctifs peut augmenter et réduire une fois l’appareil créé ; Toutefois, la liste d’emplacements de correctifs ne peut jamais réduire la taille de départ qui PatchLocationListSize spécifie.
[out] Flags
Structure DXGK_DEVICEINFOFLAGS qui identifie, dans les indicateurs de champ binaire, des informations sur l’appareil.
Remarques
Le pilote display miniport spécifie des valeurs pour les membres DmaBufferSize et AllocationListSize pour garantir les éléments suivants :
- Le sous-système graphique DirectX ne peut utiliser qu’une seule mémoire tampon DMA à afficher (à l’aide de la structure du pilote de miniport d’affichage DxgkDdiPresent) au moins une structure RECT pour tous les scénarios.
- Les tailles des mémoires tampons DMA et de liste d’allocation sont suffisamment volumineuses pour contenir au moins une commande qui ne peut pas être fractionnée sur plusieurs mémoires tampons.
- Les tailles des mémoires tampons DMA et de liste d’allocation sont suffisamment volumineuses pour éviter la surcharge d’installation et DMA.
Si le pilote définit DmaBufferSegmentSet sur 0, le gestionnaire de mémoire vidéo alloue la mémoire verrouillée par page contiguë, qui est mappée en 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.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows Vista |
d’en-tête | d3dkmddi.h (include D3dkmddi.h) |