PFND3DDDI_SETMARKER回呼函式 (d3dumddi.h)
通知使用者模式顯示驅動程式,如果在上次呼叫 pfnSetMarker 之後已完成任何 GPU 工作,則必須產生新的時間戳。 Windows 顯示驅動程式模型選擇性地實作 (WDDM) 1.3 和更新版本的驅動程式在 Microsoft Direct3D 層級 9 硬體上執行。 (請參閱 Direct3D 轉譯效能改善中的需求。) 如需更進階的硬體,驅動程式應該實作 SetMarker 函式。
語法
PFND3DDDI_SETMARKER Pfnd3dddiSetmarker;
HRESULT Pfnd3dddiSetmarker(
HANDLE hDevice
)
{...}
參數
hDevice
顯示裝置的句柄 (圖形內容) 。
傳回值
如果函式未順利完成,則傳回 S_OK 或適當的錯誤結果。
備註
如果 pfnSetMarkerMode 函式的 Type 參數中的標記事件類型未D3DDDIMT_NONE,則使用者模式顯示驅動程式必須針對 pfnSetMarker 的每個呼叫執行此程式:
- 遞增 D3DDDICB_LOGUMDMARKER 結構的 APISequenceNumber 成員值。
- 判斷與單個線程裝置驅動程式介面相關聯的內容 (DDI) 轉譯提交的呼叫與 pfnSetMarker 的最後一次呼叫搭配使用。 針對每個這類內容:
- 如果內容的命令緩衝區是空的,則不執行任何動作。
- 否則:
- 請確定內容歷程記錄緩衝區中有更多可用記憶體。 如有必要,請排清緩衝區。
- 將另一個專案新增至內容之 API 序號緩衝區,其中包含目前 APISequenceNumber 值的低 32 位。
- 範例和寫出適用於目前標記事件類型的時間戳。
- 下次呼叫 pfnSetMarker 時將使用的更新追蹤數據。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 8.1,WDDM 1.3 和更新版本 |
最低支援的伺服器 | Windows Server 2012 R2 |
目標平台 | 桌面 |
標頭 | d3dumddi.h (包含 D3d10umddi.h) |