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 类型指示)时,请遵循以下准则:
- 使用轻量级检测,该检测不会与图形命令边界产生强烈的关联。
- 驱动程序必须能够在图形管道末尾采样 GPU 时间戳。
- 请勿使用给图形管道带来高性能负担的采样命令,例如等待空闲命令。 为了能够检测配置文件类型的标记事件,驱动程序不必刷新管道或缓存。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 8.1,WDDM 1.3 及更高版本 |
最低受支持的服务器 | Windows Server 2012 R2 |
目标平台 | 桌面 |
标头 | d3dumddi.h (包括 D3d10umddi.h) |