PFND3DDDI_CREATEQUERY回调函数 (d3dumddi.h)
CreateQuery 函数为查询创建驱动程序端资源,Microsoft Direct3D 运行时随后会出现问题进行处理。
语法
PFND3DDDI_CREATEQUERY Pfnd3dddiCreatequery;
HRESULT Pfnd3dddiCreatequery(
HANDLE hDevice,
D3DDDIARG_CREATEQUERY *unnamedParam2
)
{...}
参数
hDevice
显示设备的句柄(图形上下文)。
unnamedParam2
pData [in, out]
指向标识查询的 D3DDDIARG_CREATEQUERY 结构的指针。
返回值
CreateQuery 返回以下值之一:
返回代码 | 说明 |
---|---|
S_OK | 已成功创建查询。 |
E_OUTOFMEMORY | CreateQuery 无法为其分配完成所需的内存。 |
言论
Direct3D 运行时使用查询类型调用用户模式显示驱动程序的 createQuery CreateQuery 函数,以便为查询创建资源。 用户模式显示驱动程序为查询类型创建以下资源:
- 用于D3DDDIQUERYTYPE_EVENT的 BOOL。 在响应事件之前,驱动程序必须确保图形处理单元(GPU)已完成处理与事件相关的所有作。 也就是说,驱动程序在问题结束状态发生后响应事件。 驱动程序必须始终将事件的 BOOL 值设置为响应时 TRUE。
- 用于D3DDDIQUERYTYPE_OCCLUSION的 UINT。 驱动程序将此 UINT 变量设置为在问题查询的开始和结束状态之间为所有基元传递 z 测试所传递的像素数。 如果深度缓冲区是多重采样的,驱动程序将确定样本数中的像素数。 但是,如果显示设备能够为每个多重采样提供 z 测试准确性,则通常应向上舍入到像素数。 然后,应用程序可以针对 0 检查遮挡结果,以有效地表示“完全遮挡”。 将多重采样数量转换为像素数量的驱动程序应检测呈现目标多重采样更改,并继续适当地计算查询结果。
- D3DDDIQUERYTYPE_VCACHE的 D3DDDIDEVINFO_VCACHE 结构。 驱动程序在问题结束状态发生后做出响应。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 在 Windows Vista 和更高版本的 Windows作系统中可用。 |
目标平台 | 桌面 |
标头 | d3dumddi.h (包括 D3dumddi.h) |