共用方式為


使用 KMD 共用備份存放區

從 Windows 11 22H2 版(WDDM 3.1)開始,WDDM 已擴充為允許從內核模式驅動程式存取圖形配置支援存放區(KMD)。 支援存放區是指一個認可的記憶體緩衝區,當圖形配置的內容不在視訊記憶體中時,該緩衝區會保存圖形配置的內容。

此功能可讓使用者模式驅動程式 (UMD) 和 KMD 存取相同的配置記憶體。 當UMD在主機上執行或使用 GPU 半虛擬化 (GPU-PV) 的虛擬機時,可以使用此功能。

此功能已回到 Windows 10 版本 20H1。 DDI 適用於 WDDM 3.1 驅動程式或更新版本。

WDDM 圖形配置和備份存放區

WDDM 模型中的每個圖形配置都有一個備份存放區。 當UMD呼叫 DxgkrnlD3DKMTCreateAllocation 函式時,就會建立圖形配置。 UMD 會傳遞此配置的私人數據,Dxgkrnl 會透過對 DxgkddiCreateAllocation呼叫傳遞至 KMD。 KMD 會將所需的配置旗標 傳回 Dxgkrnl

檢查功能可用性

若要檢查備份存放區共用功能是否可用,KMD 必須先呼叫下列其中一個回呼,並將 FeatureId 設定為 DXGK_FEATURE_SHARE_BACKING_STORE_WITH_KMD

只有在回呼成功且 Enable 設定為 TRUE 時,才能使用此功能。

功能流程

一旦 KMD 成功判斷已啟用此功能,UMD 會呼叫 D3DKMTCreateAllocation 來建立共用的 CPU 可見配置,並透過私人數據指示 KMD 必須與 KMD 共用配置。 在此呼叫過程中,會發生下列情況:

配置的屬性

以這種方式建立的設定必須具有下列屬性:

  • 配置只允許在系統記憶體區段中。
  • 配置必須建立為共用。
  • 配置無法使用現有的系統記憶體作為備份存放區。
  • UMD 可以針對一般配置執行任何作業。