D3DHAL_DP2CREATEQUERY结构 (d3dhal.h)

仅 DirectX 9.0 及更高版本。

D3DHAL_DP2COMMAND 结构的 bCommand 成员设置为D3DDP2OP_CREATEQUERY时,D3dDrawPrimitives2 回调从命令缓冲区分析一个或多个D3DHAL_DP2CREATEQUERY结构,并用于为查询创建资源。

语法

typedef struct _D3DHAL_DP2CREATEQUERY {
  DWORD        dwQueryID;
  D3DQUERYTYPE QueryType;
} D3DHAL_DP2CREATEQUERY;

成员

dwQueryID

标识查询。

QueryType

指定D3DQUERYTYPE枚举中的一个值,该值指示驱动程序为其创建资源的查询功能。

言论

运行时使用D3DHAL_DP2CREATEQUERY通过唯一标识符和查询类型标识每个查询。 驱动程序的 D3dDrawPrimitives2 回调必须从命令缓冲区处理 wPrimitiveCount D3DHAL_DP2CREATEQUERY 结构。 wPrimitiveCount 的值在D3DHAL_DP2COMMAND结构中指定。 驱动程序对这些结构进行分析,并为它们根据需要表示的查询创建资源。

驱动程序为以下查询类型创建资源:

  • 用于D3DQUERYTYPE_EVENT的 BOOL。 在响应事件D3DDP2OP_RESPONSEQUERY之前,驱动程序必须确保图形处理单元(GPU)已完成处理与事件相关的所有 D3DHAL_DP2OPERATION作。 也就是说,驱动程序仅在事件发生ISSUE_END状态后做出响应。 驱动程序必须始终将事件的 BOOL 值设置为响应时 TRUE
  • 用于D3DQUERYTYPE_OCCLUSION的 DWORD。 驱动程序将此 DWORD 设置为在查询开始和结束之间为所有基元传递 z 测试所针对的像素数。 如果深度缓冲区是多重采样的,驱动程序将确定样本数中的像素数。 但是,如果显示设备能够按多重采样 z 测试准确度,则通常应向上舍入到像素数。 然后,应用程序可以针对 0 检查遮挡结果,以有效地表示“完全遮挡”。 将多重采样数量转换为像素数量的驱动程序应检测呈现目标多重采样更改,并继续适当地计算查询结果。
  • D3DQUERYTYPE_VCACHE的 D3DDEVINFO_VCACHE 结构。

要求

要求 价值
标头 d3dhal.h (包括 D3dhal.h)

另请参阅

D3DDEVINFO_VCACHE

D3DDP2OP_CREATEQUERY

D3DHAL_DP2COMMAND

D3DHAL_DP2DELETEQUERY

D3dDrawPrimitives2