structure DXGK_PTE (d3dukmdt.h)
Une entrée de table de pages (PTE) fournit l’adresse physique d’une page et d’autres attributs. Le format exact de PTE dépend de l’implémentation matérielle.
Syntaxe
typedef struct _DXGK_PTE {
union {
struct {
ULONGLONG Valid : 1;
ULONGLONG Zero : 1;
ULONGLONG CacheCoherent : 1;
ULONGLONG ReadOnly : 1;
ULONGLONG NoExecute : 1;
ULONGLONG Segment : 5;
ULONGLONG LargePage : 1;
ULONGLONG PhysicalAdapterIndex : 6;
ULONGLONG PageTablePageSize : 2;
ULONGLONG SystemReserved0 : 1;
ULONGLONG Reserved : 44;
};
ULONGLONG Flags;
};
union {
ULONGLONG PageAddress;
ULONGLONG PageTableAddress;
};
} DXGK_PTE;
Membres
Valid
Une fois définie, cela indique que l’entrée est valide. L’accès à une entrée non valide entraîne une erreur d’adresse irrécupérable, sauf si l’indicateur Zéro est défini.
Zero
Lorsqu’il est défini sur Valide = 1, l’accès à l’entrée conduit à retourner la valeur zéro pour l’accès à la mémoire. Il est utilisé pour prendre en charge les ressources en mosaïques.
Pris en charge à partir de Windows 10.
CacheCoherent
Lorsqu’elle est définie, cela indique que la page mémoire est cohérente entre le processeur et le GPU.
ReadOnly
Lorsqu’elle est définie, cela indique que la page mémoire est en lecture seule.
NoExecute
Lorsqu’elle est définie, cela indique que la page mémoire contient des données, qui ne doivent pas être traitées comme des commandes exécutables.
Pris en charge à partir de Windows 10.
Segment
Identificateur de segment de mémoire GPU de base zéro où se trouve la page mémoire correspondante. Le segment zéro est réservé à la mémoire système.
LargePage
Le bit ne peut être défini que lorsque le pilote en mode noyau définit le DXGK_VIRTUALADDRESSCAPS ::GpuMmu. Limite LargePageSupported . Lorsque vous définissez l’adresse de table de page (PageTableAddress + SegmentId) est l’adresse mémoire d’une allocation. La taille d’allocation est égale à la plage d’adresses virtuelle, couverte par le niveau de table de page inférieur. Cet indicateur ne peut pas être défini pour les tables de pages feuilles.
Pris en charge à partir de Windows 10.
PhysicalAdapterIndex
Définit un index d’adaptateur physique dans une configuration de carte d’affichage liée. Les PTE des tables de pages d’une carte physique peuvent pointer vers la mémoire d’une autre carte physique.
Pris en charge à partir de Windows 10.
PageTablePageSize
Pour la table de page de niveau 1, l’entrée définit la taille des pages des PTE de la table de pages feuilles. La valeur est fournie par l’énumérateur DXGK_PTE_PAGE_SIZE . Cette valeur doit être ignorée lorsque la double PTE est prise en charge.
Pris en charge à partir de Windows 10.
SystemReserved0
Reserved
Réservé à l’utilisation du système et sera défini sur zéro.
Flags
Valeur masquée de la structure.
PageAddress
Les 52 bits élevés de l’adresse physique 64 bits d’une page mémoire. Les 12 bits inférieurs sont zéro. L’adresse est un décalage par rapport au début du segment, défini par Segment, ou une adresse de mémoire système.
PageTableAddress
Les 52 bits élevés de l’adresse physique 64 bits d’une table de page de niveau inférieur. Les 12 bits inférieurs sont zéro. L’adresse est un décalage par rapport au début du segment, défini par Segment, ou une adresse de mémoire système.
Pris en charge à partir de Windows 10.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible dans Windows 7 et versions ultérieures des systèmes d’exploitation Windows. |
En-tête | d3dukmdt.h (inclure D3dkmddi.h) |