DXGKDDI_SUSPENDCONTEXT回呼函式 (d3dkmddi.h)
DxgkddiSuspendContext 指示 GPU 暫停內容。 如果 GPU 在 TDR (逾時偵測和復原) 逾時內未確認暫停完成,則 OS 會偵測引擎逾時並執行引擎重設。
語法
DXGKDDI_SUSPENDCONTEXT DxgkddiSuspendcontext;
NTSTATUS DxgkddiSuspendcontext(
IN_CONST_HANDLE hAdapter,
IN_CONST_PDXGKARG_SUSPENDCONTEXT pSuspendContext
)
{...}
參數
hAdapter
[in]要先占並標示為暫止的硬體內容。 這種類型的先佔要求沒有寬限期,且預期 GPU 會儘快接受。
pSuspendContext
[in]包含此函式其他自變數之 DXGKARG_SUSPENDCONTEXT 結構的指標。
傳回值
DxgkddiSuspendContext 如果在此呼叫時已暫停內容,則會傳回STATUS_SUCCESS。 否則,這個值會設定為 STATUS_PENDING,而且當內容SuspendFence 透過中斷發出訊號時,暫停作業將會完成。
言論
在 DRIVER_INITIALIZATION_DATA中設定回呼函式,以註冊此回呼函式的實作。
即使 GPU 可以起始迴圈配置資源先佔,但 OS 仍需要其他原因先佔內容的方法:例如,如果它需要移動其配置,或執行 GPU 電源轉換。
當OS暫停內容、不等候暫停通知、繼續並再次暫停內容時,必須處理內容暫停值。 暫止值可讓OS區分先前的暫停通知和最新的通知。
一旦內容暫停,就會假設其所有參考都已從 GPU 中消失,而且 OS 可以自由終結內容或移動其記憶體。 不同於 WDDM 2.3 或更早版本,WDDM 2.3 或更早版本沒有個別的 NULL 內容切換命令(先前由 DxgkDdiSubmitCommandVirtual中的 ContextSwitch 旗標表示),因為 DxgkddiSuspendContext 應該執行這項工作。
要求
要求 | 價值 |
---|---|
標頭 | d3dkmddi.h |