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 :
- 遞增 APISequenceNumber 的值,D3DDDICB_LOGUMDMARKER 結構的成員。
- 判斷與單個線程設備驅動器介面 (DDI) 相關聯的內容,轉譯提交的呼叫會與最後一次呼叫搭配 pfnSetMarker 使用。 針對每個這類內容:
- 如果內容的命令緩衝區是空的,則不執行任何動作。
- 否則:
- 請確定內容歷程記錄緩衝區中有更多記憶體可用。 如有必要,請排清緩衝區。
- 將另一個專案新增至內容 API 序號緩衝區,其中包含目前 APISequenceNumber 值的低 32 位。
- 範例和寫出適用於目前標記事件類型的時間戳。
- 下次呼叫 pfnSetMarker 時,將會使用的更新追蹤數據。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 8.1、WDDM 1.3 及更新版本 |
支援的最低伺服器 | Windows Server 2012 R2 |
目標平臺 | 桌面 |
標頭 | d3dumddi.h (包括 D3d10umddi.h) |