PFND3DDDI_SETMARKERMODE回调函数 (d3dumddi.h)

通知用户模式显示驱动程序,它应支持一种类型的 Windows (ETW 事件跟踪) 标记事件。 (可选)由在 Microsoft Direct3D 级别 9 硬件上运行的 Windows 显示驱动程序模型 (WDDM) 1.3 及更高版本的驱动程序实现。 (请参阅 Direct3D 呈现性能改进中的要求。) 对于更高级的硬件,驱动程序应实现 SetMarkerMode 函数。

语法

PFND3DDDI_SETMARKERMODE Pfnd3dddiSetmarkermode;

HRESULT Pfnd3dddiSetmarkermode(
  HANDLE hDevice,
  D3DDDI_MARKERTYPE Type,
  UINT Flags
)
{...}

参数

hDevice

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

Type

D3DDDI_MARKERTYPE 枚举中的值,指示驱动程序应支持的标记事件的类型。

Flags

一个 UINT 值,该值指示驱动程序是否应在命令缓冲区中提供自定义信息。 如果设置为 D3DDDI_SETMARKERMODE_CUSTOMDRIVEREVENTS,驱动程序应使用自定义事件信息对命令缓冲区进行批注和检测。 否则,驱动程序不应批注命令缓冲区。

批注可以是英语-美国区域设置中的文本字符串形式,也可以是字符串表中某个位置的索引值形式。 对于后一个选项,驱动程序还必须实现描述索引值指示的字符串的函数。

返回值

如果函数未成功完成,则返回 S_OK 或相应的错误结果。

注解

在用户模式驱动程序中设置配置文件类型标记事件(由 D3DDDIMT_PROFILE 类型指示)时,请遵循以下准则:

  1. 使用轻量级检测,该检测不会与图形命令边界产生强烈的关联。
  2. 驱动程序必须能够在图形管道末尾采样 GPU 时间戳。
  3. 请勿使用给图形管道带来高性能负担的采样命令,例如等待空闲命令。 为了能够检测配置文件类型的标记事件,驱动程序不必刷新管道或缓存。

要求

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

另请参阅

D3DDDI_MARKERTYPE

SetMarkerMode