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 的每個呼叫執行此程式:

  1. 遞增 D3DDDICB_LOGUMDMARKER 結構的 APISequenceNumber 成員值。
  2. 判斷與單個線程裝置驅動程式介面相關聯的內容 (DDI) 轉譯提交的呼叫與 pfnSetMarker 的最後一次呼叫搭配使用。 針對每個這類內容:
    1. 如果內容的命令緩衝區是空的,則不執行任何動作。
    2. 否則:
      • 請確定內容歷程記錄緩衝區中有更多可用記憶體。 如有必要,請排清緩衝區。
      • 將另一個專案新增至內容之 API 序號緩衝區,其中包含目前 APISequenceNumber 值的低 32 位。
      • 範例和寫出適用於目前標記事件類型的時間戳。
    3. 下次呼叫 pfnSetMarker 時將使用的更新追蹤數據。

規格需求

需求
最低支援的用戶端 Windows 8.1,WDDM 1.3 和更新版本
最低支援的伺服器 Windows Server 2012 R2
目標平台 桌面
標頭 d3dumddi.h (包含 D3d10umddi.h)

另請參閱

SetMarker

pfnSetMarkerMode