Partager via


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)