PFND3DWDDM1_3DDI_SETMARKER回调函数 (d3d10umddi.h)

通知用户模式显示驱动程序,如果自上次调用 SetMarker 以来已完成任何 GPU 工作,则必须生成新的时间戳。

语法

PFND3DWDDM1_3DDI_SETMARKER Pfnd3dwddm13DdiSetmarker;

void Pfnd3dwddm13DdiSetmarker(
  D3D10DDI_HDEVICE hDevice
)
{...}

参数

hDevice

显示设备的句柄 (图形上下文) 。

返回值

备注

驱动程序可以使用 pfnSetErrorCb 回调函数来设置错误代码。

如果 SetMarkerMode 函数的 Type 参数中的标记事件类型未D3DWDDM1_3DDI_MARKER_TYPE_NONE,则用户模式显示驱动程序必须在每次调用 SetMarker 时执行此过程:

  1. 递增 D3DDDICB_LOGUMDMARKER 结构的 APISequenceNumber 成员的值。

  2. 确定与单线程设备驱动程序接口关联的上下文, (DDI) 呈现提交的调用与上次对 SetMarker 的调用一起工作。 对于每个此类上下文:

    • 如果上下文的命令缓冲区为空,则不执行任何操作。
    • 否则:
      • 确保上下文的历史记录缓冲区中有更多的内存可用。 如有必要,请刷新缓冲区。
      • 将另一个条目添加到上下文的 API 序列号缓冲区,该缓冲区包含当前 APISequenceNumber 值的低 32 位。
      • 采样并写出适用于当前标记事件类型的时间戳。
  3. 更新下次调用 SetMarker 时将使用的跟踪数据。

要求

要求
最低受支持的客户端 Windows 8.1 (WDDM 1.3)
最低受支持的服务器 Windows Server 2012 R2
目标平台 桌面
标头 d3d10umddi.h (包括 D3d10umddi.h)

另请参阅

SetMarkerMode