DXGK_PTE Struktur (d3dukmdt.h)
Ein Seitentabelleneintrag (Page Table Entry, PTE) stellt eine physische Adresse einer Seite und andere Attribute bereit. Das genaue Format von PTE hängt von der Hardwareimplementierung ab.
Syntax
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;
Member
Valid
Wenn festgelegt, gibt dies an, dass der Eintrag gültig ist. Der Zugriff auf einen ungültigen Eintrag führt zu einem nicht wiederherstellbaren Adressfehler, es sei denn, das Zero-Flag ist festgelegt.
Zero
Wenn sie mit Valid = 1 festgelegt ist, führt der Zugriff auf den Eintrag dazu, dass der Nullwert für den Speicherzugriff zurückgegeben wird. Dies wird verwendet, um gekachelte Ressourcen zu unterstützen.
Wird ab Windows 10 unterstützt.
CacheCoherent
Wenn festgelegt, gibt dies an, dass die Speicherseite zwischen CPU und GPU im Cache kohärent ist.
ReadOnly
Wenn festgelegt, gibt dies an, dass die Speicherseite schreibgeschützt ist.
NoExecute
Wenn festgelegt, gibt dies an, dass die Speicherseite Daten enthält, die nicht als ausführbare Befehle behandelt werden sollten.
Wird ab Windows 10 unterstützt.
Segment
Ein nullbasierter GPU-Speichersegmentbezeichner, auf dem sich die entsprechende Speicherseite befindet. Das Segment Null ist für den Systemspeicher reserviert.
LargePage
Das Bit kann nur festgelegt werden, wenn der Kernelmodustreiber die DXGK_VIRTUALADDRESSCAPS::GpuMmu festlegt. LargePageSupported cap. Beim Festlegen der Seitentabellenadresse (PageTableAddress + SegmentId) ist die Speicheradresse einer Zuordnung. Die Zuordnungsgröße entspricht dem virtuellen Adressbereich, der von der unteren Seitentabellenebene abgedeckt wird. Dieses Flag kann nicht für die Blattseitentabellen festgelegt werden.
Wird ab Windows 10 unterstützt.
PhysicalAdapterIndex
Definiert einen physischen Adapterindex in einer verknüpften Grafikkartenkonfiguration. PTEs von Seitentabellen auf einem physischen Adapter können auf den Arbeitsspeicher eines anderen physischen Adapters verweisen.
Wird ab Windows 10 unterstützt.
PageTablePageSize
Für den Seitentabelleneintrag der Ebene 1 definiert die Seitengröße der Blattseitentabellen-PTEs. Der Wert wird vom DXGK_PTE_PAGE_SIZE-Enumerator bereitgestellt. Dieser Wert sollte ignoriert werden, wenn Dual-PTE unterstützt wird.
Wird ab Windows 10 unterstützt.
SystemReserved0
Reserved
Reserviert für die Systemverwendung und wird auf Null festgelegt.
Flags
Der unmaskierte Wert der Struktur.
PageAddress
Die hohen 52 Bit der physischen 64-Bit-Adresse einer Speicherseite. Die niedrigen 12 Bits sind 0. Die Adresse ist ein Offset vom Anfang des Segments, definiert durch Segment oder eine Systemspeicheradresse.
PageTableAddress
Die hohen 52 Bit der physischen 64-Bit-Adresse einer unteren Seitentabelle. Die niedrigen 12 Bits sind 0. Die Adresse ist ein Offset vom Anfang des Segments, definiert durch Segment oder eine Systemspeicheradresse.
Wird ab Windows 10 unterstützt.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar in Windows 7 und höheren Versionen der Windows-Betriebssysteme. |
Kopfzeile | d3dukmdt.h (einschließlich D3dkmddi.h) |