DXGKARG_HISTORYBUFFERPRECISION 结构 (d3dkmddi.h)
指示有关显示微型端口驱动程序使用的历史记录缓冲区数据的精度的信息。
语法
typedef struct _DXGKARG_HISTORYBUFFERPRECISION {
UINT32 PrecisionBits;
} DXGKARG_HISTORYBUFFERPRECISION;
成员
PrecisionBits
每个时间戳中使用的有效位数。 此数字不包括用于垃圾值的位。
此精度值有三个有效范围:
值 | 含义 |
---|---|
0 | 没有位包含有用数据,DirectX 图形内核子系统将调用 DxgkDdiFormatHistoryBuffer 函数,以提供有效的数据以输出到 Windows (ETW) 设施的事件跟踪。 当驱动程序处理此调用时,它会设置一个新的精度值作为函数的输出参数。 |
32 | 驱动程序应使用完整的 32 位精度记录 32 位时间戳。 |
33–64 | 驱动程序应记录 64 位时间戳。 此值定义用于存储每个时间戳的数据的位数。 为了降低格式化数据的成本,驱动程序可以在 64 位时间戳中包含垃圾值。 例如,驱动程序可以编写精度为 55 位的 64 位时间戳。 在这种情况下,高 9 位被视为垃圾值,并被 ETW 删除。 |
0 和 32 之间的值不受支持且无效。
如果硬件支持 64 位时间戳,但只有 32 位可用,则驱动程序必须确保将数据正确呈现给 DirectX 图形内核子系统。 如果驱动程序没有其他替代方法来呈现数据,则它应在下一次调用 DxgkDdiFormatHistoryBuffer 函数时提供精度值。
注解
在对 DxgkDdiQueryAdapterInfo 函数的调用中,输出数据大小 DXGKARG_QUERYADAPTERINFO。OutputDataSize 为:
sizeof(DXGKARG_HISTORYBUFFERPRECISION) * m_DriverCaps.GpuEngineTopology.NbAsymetricProcessingNodes
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 8.1、WDDM 1.3 及更高版本 |
最低受支持的服务器 | Windows Server 2012 R2 |
标头 | d3dkmddi.h (包括 D3dkmddi.h) |