DXGKDDI_SUSPENDCONTEXT回呼函式 (d3dkmddi.h)

指示 GPU 暫停內容。 如果 GPU 未確認 TDR 內的暫停完成 (逾時偵測和復原) 逾時,OS 將會偵測引擎逾時並執行引擎重設。

語法

DXGKDDI_SUSPENDCONTEXT DxgkddiSuspendcontext;

NTSTATUS DxgkddiSuspendcontext(
  IN_CONST_HANDLE hAdapter,
  IN_CONST_PDXGKARG_SUSPENDCONTEXT pSuspendContext
)
{...}

參數

hAdapter

要先占並標示為暫停的硬體內容。 這種類型的先佔要求沒有寬限期,而且應該儘快由 GPU 接受。

pSuspendContext

DXGKARG_SUSPENDCONTEXT 結構的指標,其中包含單調增加的每個內容值,在完成先佔要求之後,GPU 內容會暫停中斷報告。 在發出柵欄訊號之前,OS 無法假設 GPU 已暫停。

傳回值

如果內容已在呼叫時暫停,則傳回STATUS_SUCCESS。 否則,此值會設定為 STATUS_PENDING,當 contextSuspendFence 透過中斷發出訊號時,暫停作業將會完成。

備註

藉由設定適當的DXGKARG_SUSPENDCONTEXT成員,然後呼叫 DxgkddiSuspendContext,註冊此回呼函式的實作。

即使 GPU 可以起始迴圈配置資源先佔,但 OS 仍然需要因其他原因而先佔內容的方法,例如,如果需要移動其配置,或執行 GPU 電源轉換。

當 OS 暫停內容時,需要內容暫止值才能處理案例,不會等待暫停通知、繼續並再次暫停內容。 暫止值可讓OS區分先前的暫停通知和最新的通知。

一旦內容暫停,就會假設所有對它的參考都會從 GPU 消失,而且 OS 可以終結內容或移動其記憶體。 不同於 WDDM 2.3 或更早版本,在 DdiSubmitCommandVirtual) 中,先前沒有以 DdiSubitch 旗標表示的個別 NULL 內容交換器 (命令,因為 DdiSuspendContext 應該執行這項工作。

規格需求

需求
標頭 d3dkmddi.h