DXGK_PTE 結構 (d3dukmdt.h)

PTE (頁面數據表專案) 提供頁面和其他屬性的實體位址。 PTE 的確切格式取決於硬體實作。

語法

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;

成員

Valid

設定時,這表示專案有效。 除非設定 旗標,否則存取無效的專案會導致無法復原的地址錯誤。

Zero

使用 Valid = 1 設定時,存取專案會導致傳回記憶體存取的零值。 這可用來支援磚資源。

從Windows 10 開始支援。

CacheCoherent

設定時,這表示記憶體頁面在CPU和 GPU 之間是一致的快取。

ReadOnly

設定時,這表示記憶體頁面是唯讀的。

NoExecute

設定時,這表示記憶體頁面包含的數據,不應視為可執行命令。

從Windows 10 開始支援。

Segment

以零起始的 GPU 記憶體區段標識符,位於對應的記憶體頁面。 區段零會保留給系統記憶體。

LargePage

只有在核心模式驅動程式設定 DXGK_VIRTUALADDRESSCAPS::GpuMmu 時,才能設定位。LargePageSupported cap。 (PageTableAddress + SegmentId 設定分頁表位址時,) 是配置的記憶體位址。 配置大小等於虛擬位址範圍,由較低的頁面數據表層級所涵蓋。 無法為分葉頁面數據表設定此旗標。

從Windows 10 開始支援。

PhysicalAdapterIndex

在連結的顯示配接器組態中定義實體配接器索引。 一個實體配接器上分頁表的 PTE 可以指向另一個實體適配卡上的記憶體。

從Windows 10 開始支援。

PageTablePageSize

針對層級 1 分頁表專案,定義分葉頁面數據表 PTE 的頁面大小。 值是由 DXGK_PTE_PAGE_SIZE 列舉值所提供。 支援雙 PTE 時,應該忽略此值。

從Windows 10 開始支援。

SystemReserved0

Reserved

保留供系統使用,且會設定為零。

Flags

結構的未遮罩值。

PageAddress

記憶體頁面 64 位實體位址的高 52 位。 低12位為零。 位址是區段開頭的位移,由 Segment 或系統記憶體位址所定義。

PageTableAddress

較低層級頁面數據表之64位實體位址的高52位。 低12位為零。 位址是區段開頭的位移,由 Segment 或系統記憶體位址所定義。

從Windows 10 開始支援。

規格需求

需求
最低支援的用戶端 可在 Windows 7 和更新版本的 Windows 作業系統中使用。
標頭 d3dukmdt.h (include D3dkmddi.h)