Share via


D3DDDI_MAPGPUVIRTUALADDRESS 結構 (d3dukmdt.h)

D3DDDI_MAPGPUVIRTUALADDRESS結構會與 pfnMapGpuVirtualAddressCb 搭配使用,以將 GPU 虛擬位址範圍對應至特定配置範圍,或將它放入 InvalidZero 狀態。

語法

typedef struct D3DDDI_MAPGPUVIRTUALADDRESS {
  D3DKMT_HANDLE                           hPagingQueue;
  D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS   BaseAddress;
  D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS   MinimumAddress;
  D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS   MaximumAddress;
  D3DKMT_HANDLE                           hAllocation;
  D3DKMT_ALIGN64 D3DGPU_SIZE_T            OffsetInPages;
  D3DKMT_ALIGN64 D3DGPU_SIZE_T            SizeInPages;
  D3DDDIGPUVIRTUALADDRESS_PROTECTION_TYPE Protection;
  D3DKMT_ALIGN64 UINT64                   DriverProtection;
  UINT                                    Reserved0;
  D3DKMT_ALIGN64 UINT64                   Reserved1;
  D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS   VirtualAddress;
  D3DKMT_ALIGN64 UINT64                   PagingFenceValue;
} D3DDDI_MAPGPUVIRTUALADDRESS;

成員

hPagingQueue

裝置分頁佇列的句柄,用於作業。

BaseAddress

(選擇性) 如果非 NULL,視訊記憶體管理員會嘗試使用此地址作為對應的基位址。 如果 BaseAddressBaseAddress+Size 的範圍沒有可用,則必須屬於先前透過呼叫 pfnReserveGpuVirtualAddressCbpfnMapGpuVirtualAddressCb 取得的範圍

BaseAddress 值是以位元組為單位,且必須對齊 CPU 分頁界限。 如果指定 NULL,視訊記憶體管理員會挑選指定 MinimumAddressMaximumAddress 內配置的基礎位址。

MinimumAddress

(選擇性) 指定要針對對應範圍考慮的最低 GPU 虛擬位址。

MinimumAddress 值是以位元組為單位,且必須對齊 4KB 頁面。 當BaseAddress!= NULL 時,會忽略此參數。

MaximumAddress

(選擇性) 指定要針對對應範圍考慮的最大 GPU 虛擬位址。 視訊記憶體管理員會保證 BaseAddress+Size<= MaximumAddress。 如果 MaximumAddress 設定為 NULL,則視訊記憶體管理員將不會套用任何限制。

MaximumAddress 值是以位元組為單位,且必須對齊 4KB 頁面。 當BaseAddress!= NULL 時,會忽略此參數。

hAllocation

對應至 GPU 虛擬位址空間之配置的句柄。 指定 Protection.NoAccessProtection.Zero 時,必須為 NULL。

OffsetInPages

指定必須對應的指定配置內起始頁的位移,以 4KB 為單位。

SizeInPages

以 4KB 頁面指定要對應的範圍大小。

Protection

D3DDDIGPUVIRTUALADDRESS_PROTECTION_TYPE結構,指定對應之 GPU 虛擬位址上的保護。

DriverProtection

指定與所配置 VA 範圍相關聯的驅動程式特定 64 位保護值。 指定的驅動程式保護將用於呼叫 DxgkDdiUpdatePageTable ,以取得對應至此虛擬位址範圍的分頁表專案。

Reserved0

這個成員是保留的,而且應該設定為零。

Reserved1

這個成員是保留的,而且應該設定為零。

VirtualAddress

指派給配置的虛擬位址。

PagingFenceValue

當地圖作業在 GPU 上完成時,視訊記憶體管理員發出訊號的裝置分頁柵欄值。 使用者模式驅動程式必須確定此柵欄已淘汰或明確等候該柵欄上的 CPU 或 GPU,然後才允許 GPU 存取對應的範圍,或可能發生無法復原的錯誤。 可能會傳回零柵欄值,這表示作業已完成。

規格需求

需求
最低支援的用戶端 Windows 10
最低支援的伺服器 Windows Server 2016
標頭 d3dukmdt.h (包含 D3dumddi.h、D3dkmddi.h)

另請參閱

D3DDDIGPUVIRTUALADDRESS_PROTECTION_TYPE

D3DKMTMapGpuVirtualAddress

DxgkDdiUpdatePageTable

pfnMapGpuVirtualAddressCb

pfnReserveGpuVirtualAddressCb