Condividi tramite


struttura DXGK_PTE (d3dukmdt.h)

Una voce di tabella di pagina (PTE) fornisce un indirizzo fisico di una pagina e altri attributi. Il formato esatto del PTE dipende dall'implementazione hardware.

Sintassi

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;

Membri

Valid

Se impostata, indica che la voce è valida. L'accesso a una voce non valida comporta un errore di indirizzo irreversibile, a meno che non sia impostato il flag di zero.

Zero

Se impostato con Valido = 1, l'accesso alla voce comporta la restituzione del valore zero per l'accesso alla memoria. Viene usato per supportare le risorse affiancate.

Supportato a partire da Windows 10.

CacheCoherent

Se impostata, indica che la pagina di memoria è coerente tra CPU e GPU.

ReadOnly

Se impostata, indica che la pagina di memoria è di sola lettura.

NoExecute

Se impostata, indica che la pagina di memoria contiene dati, che non devono essere considerati come comandi eseguibili.

Supportato a partire da Windows 10.

Segment

Identificatore del segmento di memoria GPU in base zero in cui si trova la pagina di memoria corrispondente. Il segmento zero è riservato per la memoria di sistema.

LargePage

Il bit può essere impostato solo quando il driver in modalità kernel imposta il DXGK_VIRTUALADDRESSCAPS::GpuMmu.limite LargePageSupported. Quando si imposta l'indirizzo della tabella di pagina (PageTableAddress + SegmentId) è l'indirizzo di memoria di un'allocazione. Le dimensioni di allocazione sono uguali all'intervallo di indirizzi virtuali, coperto dal livello della tabella di pagina inferiore. Questo flag non può essere impostato per le tabelle delle pagine foglia.

Supportato a partire da Windows 10.

PhysicalAdapterIndex

Definisce un indice di adattatore fisico in una configurazione della scheda di visualizzazione collegata. I PTE delle tabelle di pagine in una scheda fisica possono puntare alla memoria in un'altra scheda fisica.

Supportato a partire da Windows 10.

PageTablePageSize

Per la voce di tabella di pagina di livello 1 definisce le dimensioni delle pagine delle tabelle foglia PTEs. Il valore viene fornito dall'enumeratore DXGK_PTE_PAGE_SIZE. Questo valore deve essere ignorato quando è supportato dual-PTE.

Supportato a partire da Windows 10.

SystemReserved0

Reserved

Riservato per l'uso del sistema e verrà impostato su zero.

Flags

Valore non mascherato della struttura.

PageAddress

I 52 bit alti dell'indirizzo fisico a 64 bit di una pagina di memoria. I 12 bit bassi sono zero. L'indirizzo è un offset dall'inizio del segmento, definito da Segmento da un indirizzo di memoria di sistema.

PageTableAddress

I 52 bit alti dell'indirizzo fisico a 64 bit di una tabella di pagine di livello inferiore. I 12 bit bassi sono zero. L'indirizzo è un offset dall'inizio del segmento, definito da Segmento da un indirizzo di memoria di sistema.

Supportato a partire da Windows 10.

Fabbisogno

Requisito Valore
client minimo supportato Disponibile in Windows 7 e versioni successive dei sistemi operativi Windows.
intestazione d3dukmdt.h (include D3dkmddi.h)