共用方式為


DXGKDDI_QUERYDEPENDENTENGINEGROUP回呼函式 (d3dkmddi.h)

Dxgkrnl的 GPU 排程器會呼叫 DxgkddiQuerydependentenginegroup 來查詢實體顯示適配卡中節點的相依性。

語法

DXGKDDI_QUERYDEPENDENTENGINEGROUP DxgkddiQuerydependentenginegroup;

NTSTATUS DxgkddiQuerydependentenginegroup(
  IN_CONST_HANDLE hAdapter,
  INOUT_DXGKARG_QUERYDEPENDENTENGINEGROUP pQueryDependentEngineGroup
)
{...}

參數

hAdapter

[in]與顯示配接器相關聯的內容區塊句柄。 顯示迷你埠驅動程式先前已將此句柄提供給 MiniportDeviceContext 中的 DirectX 圖形核心子系統,DxgkDdiAddDevice 函式的輸出參數。

pQueryDependentEngineGroup

[in/out]DXGKARG_QUERYDEPENDENTENGINEGROUP 結構,KMD 會指定受重設作業影響的所有節點。

傳回值

DxgkddiQuerydependentenginegroup 必須傳回 STATUS_SUCCESS

言論

Dxgkrnl的 GPU 排程器會呼叫此函式,以取得所有將受到引擎重設要求影響的實體適配卡 (engine) 的描述。 它有助於改善硬體架構的用戶體驗,這些架構在多個引擎之間具有相依性,可能會影響重設程式。 請注意,所有受影響的節點都必須具有相同的引擎親和性值。 (請參閱 Windows 8中 TDR 變更中的引擎親和性討論。

每次呼叫 dxgkDdiResetEngine時,GPU 排程器會呼叫 DxgkDdiQueryDependentEngineGroup。 GPU 排程器會等候 500 毫秒,讓顯示迷你埠驅動程式完成所有相依引擎的先佔。 對於驅動程式無法完成先佔的任何引擎,GPU 排程器會根據引擎序數值,依序呼叫 DxgkDdiResetEngine 函式。

以下是如何在 DXGKARG_QUERYDEPENDENTENGINEGROUP中計算位掩碼的範例。DependentNodeOrdinalMask 成員。 如果 DXGKARG_QUERYDEPENDENTENGINEGROUP 結構 NodeOrdinalEngineOrdinal 成員的原始值分別為 1 和 0,且標識符為 2 和 4 的其他節點也會在重設節點 1 時重設,驅動程式應該將 DependentNodeOrdinalMask 設定為 10110,或以十六進位表示法0x16。 系統會假設所有相依節點的索引值 EngineOrdinal 相同。 要重設的節點包含在 DependentNodeOrdinalMask 位掩碼中。

此函式應設為可分頁,而且應該一律會成功。

操作系統保證此函式遵循 Threading 和 Synchronization First Level中所定義的第一層同步處理模式。

如需詳細資訊,請參閱 windows 8TDR 變更。

要求

要求 價值
最低支援的用戶端 Windows 8
支援的最低伺服器 Windows Server 2012
目標平臺 桌面
標頭 d3dkmddi.h
IRQL PASSIVE_LEVEL

另請參閱

DXGKARG_CREATECONTEXT

DXGKARG_QUERYDEPENDENTENGINEGROUP

DXGK_DRIVERCAPS

DxgkDdiAddDevice

DxgkDdiResetEngine