共用方式為


PFND3DDDI_UPDATEGPUVIRTUALADDRESSCB回呼函式 (d3dumddi.h)

pfnUpdateGpuVirtualAddressCb 是磚資源內容中使用的特殊作業。 它可讓使用者模式驅動程式指定要在單一批次頁面數據表更新中,將一些對應作業套用至進程的虛擬位址空間。

所有作業中的圖形處理單位 (GPU) 虛擬位址範圍(除了複製作業的來源位址除外)都必須屬於 呼叫 pfnReserveGpuVirtualAddressCb取得的單一虛擬位址範圍。 同樣地,複製作業中所有來源的虛擬位址範圍必須屬於單一虛擬位址範圍,這是藉由呼叫 pfnReserveGpuVirtualAddressCb取得。

分頁內容更新會在分頁內容上執行,專用於指定的轉譯內容,而且只有在指定的受監視柵欄對象發出 FenceValue 相關轉譯內容訊號之後,才會在 GPU 上執行。 當頁面數據表更新完成時,分頁內容會將受監視的柵欄對象發出訊號,以 FenceValue+1,讓轉譯內容與頁面數據表更新緊密連結。

語法

PFND3DDDI_UPDATEGPUVIRTUALADDRESSCB Pfnd3dddiUpdategpuvirtualaddresscb;

HRESULT Pfnd3dddiUpdategpuvirtualaddresscb(
  HANDLE hDevice,
  const D3DDDICB_UPDATEGPUVIRTUALADDRESS *unnamedParam2
)
{...}

參數

hDevice

顯示裝置的句柄。

unnamedParam2

pData [in]

描述要執行的作業之 D3DDDICB_UPDATEGPUVIRTUALADDRESS 結構的指標。

傳回值

如果此回呼函式成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。

言論

更新作業中的虛擬位址範圍允許交集。 作業會依提交的順序套用。

在單一 pfnUpdateVirtualAddressCb 呼叫:

  • 對應作業中的所有虛擬位址範圍和複製作業中的目的地範圍都必須屬於相同的保留 (零) 範圍。
  • 複製作業中的來源虛擬位址範圍可以來自不同的保留範圍(零) 範圍。
  • 所有複製作業中的來源虛擬位址範圍都必須屬於相同的保留 (零) 範圍。
使用者模式驅動程式可以提交許多 pfnUpdateGpuVirtualAddressCb 呼叫和作業會排入轉譯柵欄後方。 當佇列更新作業數目超過 128 時,呼叫線程將會遭到封鎖,直到影片記憶體管理員處理先前的作業為止。

要求

要求 價值
最低支援的用戶端 Windows 10
支援的最低伺服器 Windows Server 2016
目標平臺 桌面
標頭 d3dumddi.h (包括 D3dumddi.h)

另請參閱

D3DDDICB_UPDATEGPUVIRTUALADDRESS

pfnReserveGpuVirtualAddressCb